File tree 3 files changed +76
-0
lines changed
solution/1100-1199/1109.Corporate Flight Bookings
3 files changed +76
-0
lines changed Original file line number Diff line number Diff line change @@ -258,6 +258,33 @@ public:
258
258
};
259
259
```
260
260
261
+ ### ** Rust**
262
+
263
+ ``` rust
264
+ impl Solution {
265
+ #[allow(dead_code)]
266
+ pub fn corp_flight_bookings (bookings : Vec <Vec <i32 >>, n : i32 ) -> Vec <i32 > {
267
+ let mut ans = vec! [0 ; n as usize ];
268
+
269
+ // Build the difference vector first
270
+ for b in & bookings {
271
+ let (l , r ) = (b [0 ] as usize - 1 , b [1 ] as usize - 1 );
272
+ ans [l ] += b [2 ];
273
+ if r < n as usize - 1 {
274
+ ans [r + 1 ] -= b [2 ];
275
+ }
276
+ }
277
+
278
+ // Build the prefix sum vector based on the difference vector
279
+ for i in 1 .. n as usize {
280
+ ans [i ] += ans [i - 1 ];
281
+ }
282
+
283
+ ans
284
+ }
285
+ }
286
+ ```
287
+
261
288
### ** Go**
262
289
263
290
``` go
Original file line number Diff line number Diff line change @@ -228,6 +228,33 @@ public:
228
228
};
229
229
```
230
230
231
+ ### ** Rust**
232
+
233
+ ``` rust
234
+ impl Solution {
235
+ #[allow(dead_code)]
236
+ pub fn corp_flight_bookings (bookings : Vec <Vec <i32 >>, n : i32 ) -> Vec <i32 > {
237
+ let mut ans = vec! [0 ; n as usize ];
238
+
239
+ // Build the difference vector first
240
+ for b in & bookings {
241
+ let (l , r ) = (b [0 ] as usize - 1 , b [1 ] as usize - 1 );
242
+ ans [l ] += b [2 ];
243
+ if r < n as usize - 1 {
244
+ ans [r + 1 ] -= b [2 ];
245
+ }
246
+ }
247
+
248
+ // Build the prefix sum vector based on the difference vector
249
+ for i in 1 .. n as usize {
250
+ ans [i ] += ans [i - 1 ];
251
+ }
252
+
253
+ ans
254
+ }
255
+ }
256
+ ```
257
+
231
258
### ** Go**
232
259
233
260
``` go
Original file line number Diff line number Diff line change
1
+ impl Solution {
2
+ #[ allow( dead_code) ]
3
+ pub fn corp_flight_bookings ( bookings : Vec < Vec < i32 > > , n : i32 ) -> Vec < i32 > {
4
+ let mut ans = vec ! [ 0 ; n as usize ] ;
5
+
6
+ // Build the difference vector first
7
+ for b in & bookings {
8
+ let ( l, r) = ( b[ 0 ] as usize - 1 , b[ 1 ] as usize - 1 ) ;
9
+ ans[ l] += b[ 2 ] ;
10
+ if r < n as usize - 1 {
11
+ ans[ r + 1 ] -= b[ 2 ] ;
12
+ }
13
+ }
14
+
15
+ // Build the prefix sum vector based on the difference vector
16
+ for i in 1 ..n as usize {
17
+ ans[ i] += ans[ i - 1 ] ;
18
+ }
19
+
20
+ ans
21
+ }
22
+ }
You can’t perform that action at this time.
0 commit comments