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 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‎

Lines changed: 62 additions & 0 deletions
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‎

Lines changed: 62 additions & 0 deletions
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
### **...**
Lines changed: 17 additions & 0 deletions
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+
}
Lines changed: 19 additions & 0 deletions
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+
}
Lines changed: 17 additions & 0 deletions
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)

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