Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0a89f1e

Browse files
committed
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‎

Lines changed: 21 additions & 0 deletions
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
```
Lines changed: 16 additions & 0 deletions
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)

AltStyle によって変換されたページ (->オリジナル) /