File tree 2 files changed +42
-0
lines changed
Algorithms/Easy/645_SetMismatch
2 files changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ vector<int > findErrorNums (vector<int >& nums) {
4
+ int n = nums.size (), sumXor = 0 ;
5
+ int mark[n + 1 ];
6
+ memset (mark, 0 , sizeof (mark));
7
+ vector<int > ans;
8
+
9
+ for (int i = 0 ; i < n; i++) {
10
+ sumXor ^= nums[i] ^ (i + 1 );
11
+
12
+ if (mark[nums[i]] == 1 ) {
13
+ ans.push_back (nums[i]);
14
+ }
15
+
16
+ mark[nums[i]]++;
17
+ }
18
+
19
+ ans.push_back (sumXor ^ ans[0 ]);
20
+ return ans;
21
+ }
22
+ };
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public int [] findErrorNums (int [] nums ) {
3
+ int n = nums .length , sumXor = 0 ;
4
+ int mark [] = new int [n + 1 ];
5
+ int ans [] = new int [2 ];
6
+
7
+ for (int i = 0 ; i < n ; i ++) {
8
+ sumXor ^= nums [i ] ^ (i + 1 );
9
+
10
+ if (mark [nums [i ]] == 1 ) {
11
+ ans [0 ] = nums [i ];
12
+ }
13
+
14
+ mark [nums [i ]]++;
15
+ }
16
+
17
+ ans [1 ] = sumXor ^ ans [0 ];
18
+ return ans ;
19
+ }
20
+ }
You can’t perform that action at this time.
0 commit comments