747[Easy] :Min Cost Climbing Stairs

Part1:问题描述

On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed).

Once you pay the cost, you can either climb one or two steps. You need to find minimum cost to reach the top of the floor, and you can either start from the step with index 0, or the step with index 1.

Example 1:

Input: cost = [10, 15, 20]
Output: 15
Explanation: Cheapest is start on cost[1], pay that cost and go to the top.

Example 2:

Input: cost = [1, 100, 1, 1, 1, 100, 1, 1, 100, 1]
Output: 6
Explanation: Cheapest is start on cost[0], and only step on 1s, skipping cost[3].

Note:

  1. cost will have a length in the range [2, 1000].
  2. Every cost[i] will be an integer in the range [0, 999].



Part2:解题思路

  感觉自己对动态规划解题还是不太能找到思路,参考别人的文章之后下面说说自己的理解:

  到达top的代价问题可以划分为子问题:到达第i 阶的代价。

  到达第i阶又有2种方式:从第i-1阶到达(走一步到达),代价为cost[i-1]+cost_1;从i-2阶到达(走两步到达),代价为cost[i-2]+cost_2。从2种方式里面选择代价最小的作为到达当前第i阶的代价。

  除了对当前代价的计算外,我们还要考虑到达当前阶之后对下一步计算的影响,即更新cost_1和cost_2的值。因为到达当前阶之后,到达当前阶的代价对于到达下一阶而言是通过一步达到的代价,通过一步到达当前阶的代际对于到达下一阶而言是通过两步到达的代价。

参考文章:http://blog.csdn.net/u012509485/article/details/78836412


Part3:代码

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int cost_1 = 0;
        int cost_2 = 0;
        int total_cost = 0;
        int length = cost.size();
        for (int i = 2; i <= length; i++) {
            total_cost = min(cost[i - 1]+cost_1, cost[i - 2]+cost_2);
            cost_2 = cost_1;
            cost_1 = total_cost;
        }
        return total_cost;
    }
};



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全
Unity中有多个Climbing System插件,但最流行和常用的是Climbing System Pro插件。下面是Climbing System Pro插件的文档: 1. 简介 Climbing System Pro是一款Unity插件,用于快速创建高品质的爬山系统。它支持多种爬山类型,包括攀岩、墙壁攀登、梯子攀爬等。Climbing System Pro具有一些强大的功能,例如手部IK、动画融合、多个爬山点的支持等。 2. 安装 您可以在Unity Asset Store中找到Climbing System Pro插件并进行安装。安装完成后,您可以在Unity编辑器中看到Climbing System Pro的菜单选项。 3. 快速入门 要创建一个基本的爬山系统,您需要执行以下步骤: - 创建一个包含Mesh Collider组件的游戏对象,用于表示可爬物体。 - 将Climber组件添加到要进行爬山的角色上。 - 在Climber组件中选择“Add Climbing Point”选项,添加一个或多个爬山点。 - 在Climber组件中选择“Set Climbing Type”选项,选择爬山类型(例如攀岩、墙壁攀登等)。 - 按下游戏中的特定按键,以开始爬山。 4. 高级用法 Climbing System Pro还具有一些高级功能,例如动画融合、手部IK等。您可以通过查看Climbing System Pro的文档来了解更多信息。 5. 支持 如果您在使用Climbing System Pro时遇到了任何问题,您可以查看官方文档或联系开发者以获取支持。 以上是Climbing System Pro插件的简要文档,希望能够帮助您了解如何使用该插件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值