题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
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);
}
};
查看9道真题和解析