Skip to content

Commit 631d780

Browse files
committed
feat: add rust solution to lc problems: No.2278,2279
- No.2278.Percentage of Letter in String - No.2279.Maximum Bags With Full Capacity of Rocks
1 parent b13b64e commit 631d780

File tree

6 files changed

+104
-0
lines changed

6 files changed

+104
-0
lines changed

solution/2200-2299/2278.Percentage of Letter in String/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,22 @@ function percentageLetter(s: string, letter: string): number {
112112
};
113113
```
114114

115+
### **Rust**
116+
117+
```rust
118+
impl Solution {
119+
pub fn percentage_letter(s: String, letter: char) -> i32 {
120+
let mut count = 0;
121+
for c in s.chars() {
122+
if c == letter {
123+
count += 1;
124+
}
125+
}
126+
(count * 100 / s.len()) as i32
127+
}
128+
}
129+
```
130+
115131
### **...**
116132

117133
```

solution/2200-2299/2278.Percentage of Letter in String/README_EN.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,22 @@ function percentageLetter(s: string, letter: string): number {
102102
};
103103
```
104104

105+
### **Rust**
106+
107+
```rust
108+
impl Solution {
109+
pub fn percentage_letter(s: String, letter: char) -> i32 {
110+
let mut count = 0;
111+
for c in s.chars() {
112+
if c == letter {
113+
count += 1;
114+
}
115+
}
116+
(count * 100 / s.len()) as i32
117+
}
118+
}
119+
```
120+
105121
### **...**
106122

107123
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
impl Solution {
2+
pub fn percentage_letter(s: String, letter: char) -> i32 {
3+
let mut count = 0;
4+
for c in s.chars() {
5+
if c == letter {
6+
count += 1;
7+
}
8+
}
9+
(count * 100 / s.len()) as i32
10+
}
11+
}

solution/2200-2299/2279.Maximum Bags With Full Capacity of Rocks/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,28 @@ function maximumBags(capacity: number[], rocks: number[], additionalRocks: numbe
164164
};
165165
```
166166

167+
### **Rust**
168+
169+
```rust
170+
impl Solution {
171+
pub fn maximum_bags(capacity: Vec<i32>, rocks: Vec<i32>, mut additional_rocks: i32) -> i32 {
172+
let n = capacity.len();
173+
let mut diffs = vec![0; n];
174+
for i in 0..n {
175+
diffs[i] = capacity[i] - rocks[i];
176+
}
177+
diffs.sort();
178+
for i in 0..n {
179+
if diffs[i] > additional_rocks {
180+
return i as i32;
181+
}
182+
additional_rocks -= diffs[i];
183+
}
184+
n as i32
185+
}
186+
}
187+
```
188+
167189
### **...**
168190

169191
```

solution/2200-2299/2279.Maximum Bags With Full Capacity of Rocks/README_EN.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,28 @@ function maximumBags(capacity: number[], rocks: number[], additionalRocks: numbe
153153
};
154154
```
155155

156+
### **Rust**
157+
158+
```rust
159+
impl Solution {
160+
pub fn maximum_bags(capacity: Vec<i32>, rocks: Vec<i32>, mut additional_rocks: i32) -> i32 {
161+
let n = capacity.len();
162+
let mut diffs = vec![0; n];
163+
for i in 0..n {
164+
diffs[i] = capacity[i] - rocks[i];
165+
}
166+
diffs.sort();
167+
for i in 0..n {
168+
if diffs[i] > additional_rocks {
169+
return i as i32;
170+
}
171+
additional_rocks -= diffs[i];
172+
}
173+
n as i32
174+
}
175+
}
176+
```
177+
156178
### **...**
157179

158180
```
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
impl Solution {
2+
pub fn maximum_bags(capacity: Vec<i32>, rocks: Vec<i32>, mut additional_rocks: i32) -> i32 {
3+
let n = capacity.len();
4+
let mut diffs = vec![0; n];
5+
for i in 0..n {
6+
diffs[i] = capacity[i] - rocks[i];
7+
}
8+
diffs.sort();
9+
for i in 0..n {
10+
if diffs[i] > additional_rocks {
11+
return i as i32;
12+
}
13+
additional_rocks -= diffs[i];
14+
}
15+
n as i32
16+
}
17+
}

0 commit comments

Comments
 (0)