Skip to content

Commit f3f5f7f

Browse files
committed
feat: add solutions to lc problem: No.2125
No.2125.Number of Laser Beams in a Bank
1 parent 167242a commit f3f5f7f

File tree

5 files changed

+177
-0
lines changed

5 files changed

+177
-0
lines changed

solution/2100-2199/2125.Number of Laser Beams in a Bank/README.md

+62
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,69 @@ func numberOfBeams(bank []string) int {
155155
<!-- 这里可写当前语言的特殊实现逻辑 -->
156156

157157
```ts
158+
function numberOfBeams(bank: string[]): number {
159+
let last = 0;
160+
let ans = 0;
161+
for (const r of bank) {
162+
let t = 0;
163+
for (const v of r) {
164+
if (v === '1') {
165+
t++;
166+
}
167+
}
168+
if (t !== 0) {
169+
ans += last * t;
170+
last = t;
171+
}
172+
}
173+
return ans;
174+
}
175+
```
158176

177+
### **Rust**
178+
179+
```rust
180+
impl Solution {
181+
pub fn number_of_beams(bank: Vec<String>) -> i32 {
182+
let mut last = 0;
183+
let mut ans = 0;
184+
for r in bank.iter() {
185+
let mut t = 0;
186+
for &v in r.as_bytes() {
187+
if v == b'1' {
188+
t += 1;
189+
}
190+
}
191+
if t != 0 {
192+
ans += last * t;
193+
last = t;
194+
}
195+
}
196+
ans
197+
}
198+
}
199+
```
200+
201+
### **C**
202+
203+
```c
204+
int numberOfBeams(char **bank, int bankSize) {
205+
int last = 0;
206+
int ans = 0;
207+
for (int i = 0; i < bankSize; i++) {
208+
int t = 0;
209+
for (int j = 0; bank[i][j]; j++) {
210+
if (bank[i][j] == '1') {
211+
t++;
212+
}
213+
}
214+
if (t != 0) {
215+
ans += last * t;
216+
last = t;
217+
}
218+
}
219+
return ans;
220+
}
159221
```
160222
161223
### **...**

solution/2100-2199/2125.Number of Laser Beams in a Bank/README_EN.md

+62
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,69 @@ func numberOfBeams(bank []string) int {
137137
### **TypeScript**
138138

139139
```ts
140+
function numberOfBeams(bank: string[]): number {
141+
let last = 0;
142+
let ans = 0;
143+
for (const r of bank) {
144+
let t = 0;
145+
for (const v of r) {
146+
if (v === '1') {
147+
t++;
148+
}
149+
}
150+
if (t !== 0) {
151+
ans += last * t;
152+
last = t;
153+
}
154+
}
155+
return ans;
156+
}
157+
```
140158

159+
### **Rust**
160+
161+
```rust
162+
impl Solution {
163+
pub fn number_of_beams(bank: Vec<String>) -> i32 {
164+
let mut last = 0;
165+
let mut ans = 0;
166+
for r in bank.iter() {
167+
let mut t = 0;
168+
for &v in r.as_bytes() {
169+
if v == b'1' {
170+
t += 1;
171+
}
172+
}
173+
if t != 0 {
174+
ans += last * t;
175+
last = t;
176+
}
177+
}
178+
ans
179+
}
180+
}
181+
```
182+
183+
### **C**
184+
185+
```c
186+
int numberOfBeams(char **bank, int bankSize) {
187+
int last = 0;
188+
int ans = 0;
189+
for (int i = 0; i < bankSize; i++) {
190+
int t = 0;
191+
for (int j = 0; bank[i][j]; j++) {
192+
if (bank[i][j] == '1') {
193+
t++;
194+
}
195+
}
196+
if (t != 0) {
197+
ans += last * t;
198+
last = t;
199+
}
200+
}
201+
return ans;
202+
}
141203
```
142204
143205
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
int numberOfBeams(char **bank, int bankSize) {
2+
int last = 0;
3+
int ans = 0;
4+
for (int i = 0; i < bankSize; i++) {
5+
int t = 0;
6+
for (int j = 0; bank[i][j]; j++) {
7+
if (bank[i][j] == '1') {
8+
t++;
9+
}
10+
}
11+
if (t != 0) {
12+
ans += last * t;
13+
last = t;
14+
}
15+
}
16+
return ans;
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
impl Solution {
2+
pub fn number_of_beams(bank: Vec<String>) -> i32 {
3+
let mut last = 0;
4+
let mut ans = 0;
5+
for r in bank.iter() {
6+
let mut t = 0;
7+
for &v in r.as_bytes() {
8+
if v == b'1' {
9+
t += 1;
10+
}
11+
}
12+
if t != 0 {
13+
ans += last * t;
14+
last = t;
15+
}
16+
}
17+
ans
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
function numberOfBeams(bank: string[]): number {
2+
let last = 0;
3+
let ans = 0;
4+
for (const r of bank) {
5+
let t = 0;
6+
for (const v of r) {
7+
if (v === '1') {
8+
t++;
9+
}
10+
}
11+
if (t !== 0) {
12+
ans += last * t;
13+
last = t;
14+
}
15+
}
16+
return ans;
17+
}

0 commit comments

Comments
 (0)