C++找数组中只出现一次的两个数并保存(牛客剑指offer)

//////////////////////////////////////一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。//心得:开始我以为是只出现一次的一个数,,题中确是有2个只出现一次的数//数组从i=0,开始,另一个j=i+1开始,当出现一个相等的我就把它保存在我新建的数组里面b[n/2+1],//当j==n时,说明在i位置之后没有跟a[i]相等的数值了,但是不能保证前面没有,//于是这里我保存在b数组里面的数据就起作用了,再遍历一遍b数组,如果b数组里面依然没有找到相同//的数字,我们就得到这个只出现一次的数字.这时就可以保存它,然后再求下一个.//剑指offer完美通过.#include <iostream>using namespace std;void Grial(int a[],int n){int b[n/2+1];int i = 0;int k = 0 ;for(;i<n;i++){int j ;for(j = i+1 ; j<n;j++){if(a[i]==a[j]){b[k++]=a[i];break;}}int m = 0 ;if(j>=n){for(;m<k;m++){if(a[i]==b[m])break;}}if(m>=k && j>=n){cout<<a[i]<<endl;//将A[i]存储到*num1,*num2中就是剑指offer中的结果.}}}int main(){int a[]={1,1,2,3,4,4};Grial(a,6);return 0;}

如同磁铁吸引四周的铁粉,热情也能吸引周围的人,改变周围的情况。

C++找数组中只出现一次的两个数并保存(牛客剑指offer)

相关文章:

你感兴趣的文章:

标签云: