aboutsummaryrefslogtreecommitdiff
path: root/climbing_stairs.rs
blob: e3bf42d136a67ed5cbb2208b3cfd27080bbff611 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct Solution;

impl Solution {
    pub fn climb_stairs(n: i32) -> i32 {
        let (mut ans, mut i) = ([2, 1], 3);
        while i <= n as usize {
            ans[i & 0b01] = ans[0] + ans[1];
            i += 1;
        }
        ans[n as usize & 0b01]
    }
}

fn main() {
    print!("{}", Solution::climb_stairs(2));
}