Skip to content

Commit 93faf64

Browse files
authored
Added cpp and java solution of leetcode 645 (#57)
1 parent 249ca56 commit 93faf64

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
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+
}

0 commit comments

Comments
 (0)