一個輸入的陣列中長度為101,陣列範圍[1,100],存在一個數重複,找出重複的數
阿新 • • 發佈:2018-11-08
/********************************************* *函式功能: 一個輸入的陣列中長度為101,陣列範圍[1,100],存在一個數重複,找出重複的數 *引數說明 * 輸入: [1,2,4,5,6,...,39,39,40,41,42,...,100] * 輸出: 39 *時間複雜度:O(N) 空間複雜度 O(1) *作者:guoliang zheng *日期:2018-09-30-23.33 ***********************************************/ int Solution(vector<int> nums) { if(nums.size()!=101) return 0; int temp=0; for(int i=0;i<nums.size();i++) { temp^=nums[i]; } return temp^100; } int main() { vector<int> nums; for(int i=1;i<=100;i++) { nums.push_back(i); } nums.push_back(39); for(int i=1;i<10;i++) { swap(nums[i*2],nums[i*3]); } cout<<Solution(nums)<<endl; return 0; }