/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @param numsLen int nums数组长度 * @return int整型一维数组 * @return int* returnSize 返回数组行数 */ int* FindNumsAppearOnce(int* nums, int numsLen, int* returnSize ) { // write code here int i; int arr[1000000]={0}; int *ptr=(int*)malloc(sizeof(int)*2); for(i=0;i<numsLen;i++){ arr[nums[i]]++;//nums[i]指的是它所代表的数据,arr[]是nums[i]存储的地方 } for(i=0;i<numsLen;i++){ if(arr[nums[i]]==1//nums[i]只出现一次){ ptr[(*returnSize)++]=nums[i];//ptr数组接收到只出现一次的数据 } } if(ptr[0]>ptr[1]){ int t=ptr[0]; ptr[0]=ptr[1]; ptr[1]=t; }//保证按顺序进行,记住只有两个出现过一次的数据,不必用for循环 return ptr; }
这一个题目需要嵌套型数组。