FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
leetcode-algorithms/src/SingleNumberIII.java at master · anishLearnsToCode/leetcode-algorithms · GitHub
anishLearnsToCode
/
leetcode-algorithms
Public
Notifications
You must be signed in to change notification settings
Fork
17
Star
98
Code
Issues
0
Pull requests
0
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
leetcode-algorithms
/
src
/
SingleNumberIII.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
34 lines (28 loc) · 764 Bytes
Breadcrumbs
leetcode-algorithms
/
src
/
SingleNumberIII.java
Copy path
File metadata and controls
34 lines (28 loc) · 764 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// https://leetcode.com/problems/single-number-iii
// T: O(N)
// S: O(1)
public
class
SingleNumberIII
{
public
int
[]
singleNumber
(
int
[]
nums
) {
// get xor of 2 unique numbers a ^ b
int
diff
=
getXor
(
nums
);
diff
=
getLastSetBit
(
diff
);
final
int
[]
result
= {
0
,
0
};
for
(
int
element
:
nums
) {
// different set bit
if
((
element
&
diff
) ==
0
) {
result
[
0
] ^=
element
;
}
else
result
[
1
] ^=
element
;
}
return
result
;
}
private
int
getXor
(
int
[]
array
) {
int
diff
=
0
;
for
(
int
element
:
array
) {
diff
^=
element
;
}
return
diff
;
}
private
int
getLastSetBit
(
int
x
) {
return
x
& -
x
;
}
}
Back
|
FazBrowse Home
|
New Git URL