题解 | #最小花费爬楼梯# | Rust

最小花费爬楼梯

https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e

use std::io::{self, *};

struct Solution{
    costs: std::vec::Vec<i32>,
    n: i32
}

impl Solution{
    fn minCosts(&self) -> i32 {
        let mut c : i32 = 0;
        if self.n <= 1 {
            return c;
        }
        let (mut cost_one, mut cost_two) = (self.costs[0], self.costs[1]);
        for i in 2..self.n as usize {
            c = std::cmp::min(cost_one, cost_two);
            cost_one = cost_two;
            cost_two = c + self.costs[i];
        }
        return std::cmp::min(cost_one, cost_two);
    }
}

fn main() {
    let mut n:i32 = 0;
    let mut input = String::new();
    io::stdin().read_line(&mut input);
    n = input.trim().parse().unwrap();
    let mut input = String::new();
    io::stdin().read_line(&mut input);
    let numbers: Vec<i32> = input.split_whitespace()
        .map(|s| s.parse().expect("parse error"))
        .collect();
    print!("{}", Solution{costs:numbers, n:n}.minCosts());
}

#Rust#
全部评论

相关推荐

星期一的大老师:项目描述 和 技术栈单开一栏;八股文:算法与数据结构,计算机网络一定要写,操作系统不了解可以不写;Linux命令,Git,Docker基础命令和基本使用一定要写,要有实际使用场景的解决经验;项目的八股文上:redis 解决 缓存雪崩,缓存击穿,缓存穿透的解决方案,一个问题的不同方案可以一起用,不需要重复在两个项目写。第二个项目换一个。小厂可以投一投
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务