使用 C++ 计算两个数组中的元素
让我们假设我们已经给出了两个未排序的数组arr1[]和arr2[]。任务是计算arr2[]中元素的总数,其中arr1[]的每个元素都小于或等于arr2[]中存在的元素。但是,两个数组中的元素也可能包含重复项。
例如,
输入1-
N = 6
M = 7
arr1[N] = {1, 2, 5, 0, 6, 3}
arr2[M] = {0,0,1,2,1,3,4,6,8}输出-
4 5 7 2 8 6
用来解决这个问题的方法
对arr1[]中的每个元素进行计数,并检查它们是否小于等于arr2[]中的元素,思路是对arr2[]进行排序,并使用二分查找法找到arr1[]中小于等于的元素或等于arr2[]中存在的元素。
输入arr1和arr1的大小为'm'和'n'。
获取数组元素的输入。
函数countInSecond(int*arr1,int*arr2,intm,intn)将两个数组及其大小作为输入,并返回arr2[]中存在的元素的计数。
对arr2[]进行排序。
迭代arr1[]并使用二分搜索来查找arr2[]中的特定元素。
返回小于或等于元素的计数。
示例
#includeusing namespace std; void countInSecond(int *nums1,int *nums2,int m,int n){ sort(nums2, nums2+n); int i=0; for(int i=0;i 输出结果 运行上面的代码将生成输出,
4 5 7 2 8 6arr1中小于或等于arr2中的元素的计数为{457286}。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短