Skip to content

Commit 0a89f1e

Browse files
committedJun 1, 2022
feat: add rust solution to lcof problem: No.56 - ||
面试题56 - II. 数组中数字出现的次数 II
1 parent a8a330a commit 0a89f1e

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed
 

‎lcof/面试题56 - II. 数组中数字出现的次数 II/README.md

+21
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,27 @@ var singleNumber = function (nums) {
9292
};
9393
```
9494

95+
### **Rust**
96+
97+
```rust
98+
impl Solution {
99+
pub fn single_number(nums: Vec<i32>) -> i32 {
100+
let mut counts = [0; 32];
101+
for num in nums.iter() {
102+
for i in 0..32 {
103+
counts[i] += (num >> i) & 1;
104+
}
105+
}
106+
let mut res = 0;
107+
for count in counts.iter().rev() {
108+
res <<= 1;
109+
res |= count % 3;
110+
}
111+
res
112+
}
113+
}
114+
```
115+
95116
### **...**
96117

97118
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
impl Solution {
2+
pub fn single_number(nums: Vec<i32>) -> i32 {
3+
let mut counts = [0; 32];
4+
for num in nums.iter() {
5+
for i in 0..32 {
6+
counts[i] += (num >> i) & 1;
7+
}
8+
}
9+
let mut res = 0;
10+
for count in counts.iter().rev() {
11+
res <<= 1;
12+
res |= count % 3;
13+
}
14+
res
15+
}
16+
}

0 commit comments

Comments
 (0)
Please sign in to comment.