5个回答
展开全部
不知道我这想法能不能行。
多建立一个数组c,先遍历a数组,将a数组中的数字对应的c数组加一。
——————————————————————————
for(i=0;i<n;i++)
c[a[i]]++;
____________________________________________________
再遍历b数组,存入c数组
——————————————————————————
for(i=0;i<m;i++)
c[b[i]]++;
——————————————————————————
最后再遍历c数组,就知道相同的有多少了。
当然,我不知道你那题究竟是怎样的。可能只用求相同原数个数。那么就是。
——————————————————————————
for(i=0;i<n;i++)
c[a[i]]=1; //这样的话,a数组自己的相同元素不累加。
——————————————————————————
for(i=0;i<m;i++)
c[b[i]]++; //这里b数组在累加。
——————————————————————————
for(i=0;i<x;i++)
if(c[i]>1) k++; //c数组中比一大的都是有共同元素的了。
——————————————————————————
希望对你有帮助。
多建立一个数组c,先遍历a数组,将a数组中的数字对应的c数组加一。
——————————————————————————
for(i=0;i<n;i++)
c[a[i]]++;
____________________________________________________
再遍历b数组,存入c数组
——————————————————————————
for(i=0;i<m;i++)
c[b[i]]++;
——————————————————————————
最后再遍历c数组,就知道相同的有多少了。
当然,我不知道你那题究竟是怎样的。可能只用求相同原数个数。那么就是。
——————————————————————————
for(i=0;i<n;i++)
c[a[i]]=1; //这样的话,a数组自己的相同元素不累加。
——————————————————————————
for(i=0;i<m;i++)
c[b[i]]++; //这里b数组在累加。
——————————————————————————
for(i=0;i<x;i++)
if(c[i]>1) k++; //c数组中比一大的都是有共同元素的了。
——————————————————————————
希望对你有帮助。
展开全部
求两个数组中相同元素的个数
举个例子
<?php
$a=array('a1'=>1,'a2'=>2,'a3'=>3);
$b=array('b3'=>3,'b4'=>4,'b5'=>5);
//就这两句话就可以了
$c=array_flip($a)+array_flip($b);
echo count($a)+count($b)-count($c);
?>
举个例子
<?php
$a=array('a1'=>1,'a2'=>2,'a3'=>3);
$b=array('b3'=>3,'b4'=>4,'b5'=>5);
//就这两句话就可以了
$c=array_flip($a)+array_flip($b);
echo count($a)+count($b)-count($c);
?>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
得到数组中数的上限
创建一个大数组,置0
对两个数组进行扫描,得到某个数a后,对大数组中下标为a的数+1
最后扫描大数组,>1的即为相同元素
空间换时间
创建一个大数组,置0
对两个数组进行扫描,得到某个数a后,对大数组中下标为a的数+1
最后扫描大数组,>1的即为相同元素
空间换时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给个思路你,对两个数组先排序从小到大,然后两个数组从头开始扫(要准备两个指针)
你纸上先画下体会下,再用程序写吧
你纸上先画下体会下,再用程序写吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不难,把数组排个序就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询