Given an array of integers where 1≤a[i]≤ n (n = size of array), some elements appear twice and others Appear once.
Find all the elements of [1, N] inclusive The does not appear in this array.
Could do it without extra space and in O (n) runtime? Assume the returned list does not count as extra space.
Example:
Input: [4,3,2,7,8,2,3,1] Output: [5,6]
The correct sequence is hidden in the subscript. The solution is ingenious and uses the minus sign to mark it.
classSolution { Public: Vector<int> Finddisappearednumbers (vector<int>&nums) {Vector<int>temp; if(nums.size () = =0) returntemp; unsignedintindex =0; for(inti =0; I < nums.size (); i++) {Index= ABS (Nums[i])-1; if(Nums[index] >0) Nums[index]=0-Nums[index]; } for(inti =0; I < nums.size (); i + +) { if(Nums[i] >0) Temp.push_back (i+1); } returntemp; }};
Find all Numbers disappeared in an Array