File tree 5 files changed +177
-0
lines changed
solution/2100-2199/2125.Number of Laser Beams in a Bank
5 files changed +177
-0
lines changed Original file line number Diff line number Diff line change @@ -155,7 +155,69 @@ func numberOfBeams(bank []string) int {
155
155
<!-- 这里可写当前语言的特殊实现逻辑 -->
156
156
157
157
``` 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
+ ```
158
176
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
+ }
159
221
```
160
222
161
223
### **...**
Original file line number Diff line number Diff line change @@ -137,7 +137,69 @@ func numberOfBeams(bank []string) int {
137
137
### ** TypeScript**
138
138
139
139
``` 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
+ ```
140
158
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
+ }
141
203
```
142
204
143
205
### **...**
Original file line number Diff line number Diff line change
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 number Diff line number Diff line change
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 number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments