Skip to content

Commit e3d21f3

Browse files
committed
src/bin/can-place-flowers.rs
1 parent f89d5c9 commit e3d21f3

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/bin/can-place-flowers.rs

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
fn main() {}
2+
3+
struct Solution;
4+
5+
impl Solution {
6+
pub fn can_place_flowers(flowerbed: Vec<i32>, n: i32) -> bool {
7+
let mut f = flowerbed;
8+
let mut n = n;
9+
10+
for i in 0..f.len() {
11+
if i == 0 {
12+
if f[i] == 0 && f.get(i + 1).unwrap_or(&0) == &0 {
13+
f[i] = 1;
14+
n -= 1;
15+
}
16+
} else if i == f.len() - 1 {
17+
if f[i] == 0 && f.get(i - 1).unwrap_or(&0) == &0 {
18+
f[i] = 1;
19+
n -= 1;
20+
}
21+
} else {
22+
if f[i] == 0 && f[i - 1] == 0 && f[i + 1] == 0 {
23+
f[i] = 1;
24+
n -= 1;
25+
}
26+
}
27+
28+
if n <= 0 {
29+
return true;
30+
}
31+
}
32+
33+
false
34+
}
35+
}

0 commit comments

Comments
 (0)