File tree 2 files changed +45
-0
lines changed
2 files changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ This is the solutions collection of my LeetCode submissions, most of them are pr
43
43
| 130| [ Surrounded Regions] ( https://leetcode.com/problems/surrounded-regions/ ) | [ JavaScript] ( ./src/surrounded-regions/res.js ) | Medium|
44
44
| 133| [ Clone Graph] ( https://leetcode.com/problems/clone-graph/ ) | [ JavaScript] ( ./src/clone-graph/res.js ) | Medium|
45
45
| 136| [ Single Number] ( https://leetcode.com/problems/single-number/ ) | [ JavaScript] ( ./src/single-number/res.js ) | Easy|
46
+ | 137| [ Single Number II] ( https://leetcode.com/problems/single-number-ii/ ) | [ JavaScript] ( ./src/single-number-ii/res.js ) | Medium|
46
47
| 151| [ Reverse Words in a String] ( https://leetcode.com/problems/reverse-words-in-a-string/ ) | [ JavaScript] ( ./src/reverse-words-in-a-string/res.js ) | Medium|
47
48
| 152| [ Maximum Product Subarray] ( https://leetcode.com/problems/maximum-product-subarray/ ) | [ JavaScript] ( ./src/maximum-product-subarray/res.js ) | Medium|
48
49
| 165| [ Compare Version Numbers] ( https://leetcode.com/problems/compare-version-numbers/ ) | [ JavaScript] ( ./src/compare-version-numbers/res.js ) | Medium|
Original file line number Diff line number Diff line change
1
+ /**
2
+ * res.js
3
+ * @authors Joe Jiang (hijiangtao@gmail.com)
4
+ * @date 2017-05-22 22:23:17
5
+ * @version $Id$
6
+ */
7
+
8
+ /**
9
+ * Solution 1: https://discuss.leetcode.com/topic/43166/java-o-n-easy-to-understand-solution-easily-extended-to-any-times-of-occurance
10
+ * Solution 2: https://discuss.leetcode.com/topic/2031/challenge-me-thx/5
11
+ * Solution 3: https://discuss.leetcode.com/topic/2926/accepted-code-with-proper-explaination-does-anyone-have-a-better-idea/4
12
+ * @param {number[] } nums
13
+ * @return {number }
14
+ */
15
+ let singleNumber = function ( nums ) {
16
+ let len = nums . length ,
17
+ ans = 0 ;
18
+
19
+ for ( let i = 0 ; i < 32 ; i ++ ) {
20
+ let tmp = 0 ;
21
+
22
+ for ( let j = 0 ; j < len ; j ++ ) {
23
+ if ( ( nums [ j ] >> i ) & 1 === 1 ) {
24
+ tmp ++ ;
25
+ }
26
+ }
27
+
28
+ tmp %= 3 ;
29
+ if ( tmp ) {
30
+ ans |= tmp << i ;
31
+ }
32
+ }
33
+
34
+ return ans ;
35
+ } ;
36
+
37
+ // let singleNumber = function(nums) {
38
+ // let ones = 0, twos = 0;
39
+ // for(let i = 0; i < nums.length; i++){
40
+ // ones = (ones ^ nums[i]) & ~twos;
41
+ // twos = (twos ^ nums[i]) & ~ones;
42
+ // }
43
+ // return ones;
44
+ // };
You can’t perform that action at this time.
0 commit comments