题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
https://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型vector */ vector<int> FindNumsAppearOnce(vector<int>& array) { // write code here vector<int> re; quickarr(array,0,array.size()-1); for(int i = 0;i<array.size();i++){ if(array[i] == array[i+1] && i != (array.size()-1)){ i++; }else{ re.push_back(array[i]); } } return re; } void quickarr(vector<int>& array,int begin,int end){ if(begin > end){ return; } int temp = array[begin]; int i = begin; int j = end; while(i != j){ while(array[j]>=temp && j>i){ j--; } while(array[i]<=temp && j>i){ i++; } int swap = array[j]; array[j] = array[i]; array[i] = swap; } array[begin] = array[i]; array[i] = temp; quickarr(array,begin,i-1); quickarr(array,i+1,end); } };