如何求出两个数组相同元素的个数
程序员文章站
2024-02-03 11:17:28
...
对于两个int型数组如何求出两个数组相同元素的个数
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
bool compare(int a,int b)
{
return a<b;
}
int main()
{
int count=0;
int i,j;
int a[10]={1,5,5,5,5,0,3,2,7,4};
int b[5]={2,1,5,3,5};
sort(a,a+10,compare);//按从小到大排序
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
sort(b,b+5,compare);//按从小到大排序
for(j=0;j<5;j++)
cout<<b[j]<<" ";
cout<<endl;
i=0;
j=0;
while(i<10&&j<5)/// 重点部分
{
if(a[i]==b[j])
{
if(a[i]==a[i-1])//判断是否有连续多个值相等
{
i++;
j++;
}
else
{
count++;
i++;
j++;
}
}
else if(a[i]<b[j])//因为a[i]是按从小到大排序 ,所以当a[i]<b[j],应该比较a[i+1]和b[j]的大小
i++;
else //同理,b[j]是按从小到大排序 ,所以当a[i]>b[j],应该比较a[i]和b[j+1]的大小
j++;
}///
cout<<"count="<<count<<endl;
return 0;
}
上一篇: Python自学之路第十九步——存储数据
下一篇: R语言-自动批处理
推荐阅读
-
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%100000000...
-
如何求出两个数组相同元素的个数
-
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。
-
使用array_diff()比较两个数组的不同为啥只返回了一个不同的元素
-
怎的快速找出两个数组中相同的元素
-
如何利用两个数组的key来求交集
-
如何把这两个函数相同的键值相加形成新的数组。
-
找出两个数组中不同的元素
-
输出两个数组中的不同元素
-
js找出两个数组中不同的元素