Przeglądaj źródła

Another problem done in Rust

master
Lachlan Jacob 5 lat temu
rodzic
commit
799d6f236b
3 zmienionych plików z 46 dodań i 0 usunięć
  1. 17
    0
      problems/70/main.rs
  2. 24
    0
      problems/70/problem.txt
  3. 5
    0
      problems/70/run.sh

+ 17
- 0
problems/70/main.rs Wyświetl plik

@@ -0,0 +1,17 @@
pub fn climb_stairs(n: i32) -> i32 {
let mut v = Vec::<i32>::new();
v.push(0);
v.push(1);
v.push(2);
let mut i = 3;
while i <= n {
v.push(v[((i - 2) as usize)] + v[((i - 1) as usize)]);
i += 1;
}
return v[(n as usize)];
}

pub fn main() {
println!("Expected: 1836311903");
println!("Got: {}", climb_stairs(45));
}

+ 24
- 0
problems/70/problem.txt Wyświetl plik

@@ -0,0 +1,24 @@
You are climbing a stair case. It takes n steps to reach to the top.

Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

Note: Given n will be a positive integer.

Example 1:

Input: 2
Output: 2
Explanation: There are two ways to climb to the top.
1. 1 step + 1 step
2. 2 steps

Example 2:

Input: 3
Output: 3
Explanation: There are three ways to climb to the top.
1. 1 step + 1 step + 1 step
2. 1 step + 2 steps
3. 2 steps + 1 step



+ 5
- 0
problems/70/run.sh Wyświetl plik

@@ -0,0 +1,5 @@
#!/bin/bash

rustc main.rs
./main
rm main

Ładowanie…
Anuluj
Zapisz