题目官网链接

https://leetcode-cn.com/problems/move-zeroes/

283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]

输出: [1,3,12,0,0]

说明:

必须在原数组上操作,不能拷贝额外的数组。

尽量减少操作次数。

题解:

public void MoveZeroes(int[] nums){// 解法1:处理不为0的,再处理为0的if (nums == null || nums.Length == 0)return;int index = 0;for (int i = 0; i < nums.Length; i++){if (nums[i] != 0)nums[index++] = nums[i];}while (index < nums.Length){nums[index++] = 0;}// 解法2:遇到不为0的 互换位置int j = 0;for (int i = 0; i < nums.Length; i++){if (nums[i] != 0){int temp = nums[i];nums[i] = nums[j];nums[j] = temp;j++;}}}

题目官网链接

https://leetcode-cn.com/problems/climbing-stairs/

70. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

示例 1:
输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1.  1 阶 + 1 阶2.  2 阶
示例 2:
输入: 3
输出: 3解释: 有三种方法可以爬到楼顶。1.  1 阶 + 1 阶 + 1 阶2.  1 阶 + 2 阶3.  2 阶 + 1 阶

题解:

  public int ClimbStairs(int n){// // 解法1:递归(记忆化搜索)// int[] memo = new int[n + 1];// return helper(n, memo);// // 解法2:动态规划// if (n == 1)//     return 1;// int[] dp = new int[n + 1];// dp[1] = 1;// dp[2] = 2;// for (int i = 3; i <= n; i++)//     dp[i] = dp[i - 1] + dp[i - 2];// return dp[n];// 解法3:斐波那契数if (n == 1)return 1;int first = 1;int second = 2;for (int i = 3; i <= n; i++){int third = first + second;first = second;second = third;}return second;}public int helper(int n, int[] memo){if (n <= 2)return n;if (memo[n] != 0)return memo[n];memo[n] = helper(n - 1, memo) + helper(n - 2, memo);return memo[n];}

源码地址:https://github.com/amusement1234/LeetCode_CSharp

【LeetCode之C#解法】 移动零、爬楼梯相关推荐

  1. 猴子摘香蕉问题python_硬币找零爬楼梯猴子摘香蕉

    硬币找零&&爬楼梯&&猴子摘香蕉 假设有几种硬币,如1.3.5,并且数量无限.请找出能够组成某个数目的找零所使用最少的硬币数. #include"CoinPr ...

  2. ​LeetCode刷题实战70:爬楼梯

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  3. LeetCode Algorithm 746. 使用最小花费爬楼梯

    746. 使用最小花费爬楼梯 Ideas 首先确定题目类型,爬楼梯问题,并且给定了状态转移的限制,其实就已经可以确定状态转移方程了. 然后题目说可以从下标为0或下标为1的台阶开始爬,所以我们可以定义两 ...

  4. leetcode系列-746.使用最小花费爬楼梯

    题目描述:给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用. 一旦你支付此费用,即可选择向上爬一个或者两个台阶.你可以选择从下标为 0 或下标为 1 的台 ...

  5. LeetCode P70 爬楼梯 (动规、滚动、递归 三大解法)

    一研为定,万山无阻 题目 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 ...

  6. 爬楼梯与路径类题目记忆化递归与动态规划双解法(Leetcode题解-Python语言)

    70. 爬楼梯(剑指 Offer 10- II. 青蛙跳台阶问题) 递归(英语:Recursion),是指在函数的定义中使用函数自身的方法.有意义的递归通常会把问题分解成规模缩小的同类子问题,当子问题 ...

  7. 【数据结构与算法】力扣实战之移动零、盛最多的水、爬楼梯

    练题法则 5-10分钟读题与思考 不要纠结没有思路就直接看题解: 不要死磕觉得自己很失败,怎么我们就想不出来: 基本上这些算法题,让我们自己想出来是不可能的: 拿跳表的来说,如果我们能从0-1把它想出 ...

  8. leetcode - 70. 爬楼梯

    70. 爬楼梯 -------------------------------------- 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以 ...

  9. 算法:Climbing Stairs(爬楼梯) 6种解法

    说明 算法:Climbing Stairs(爬楼梯) LeetCode地址:https://leetcode.com/problems/climbing-stairs/ 题目: You are cli ...

最新文章

  1. 看看那些来自电路造型挑战赛中的作品
  2. 与众不同 windows phone (32) - Communication(通信)之任意源组播 ASM(Any Source Multicast)...
  3. 7 个致命的 Linux 命令
  4. 面试题目_总结面试中 promise 相关题目的套路
  5. 多核CPU上python多线程并行的一个假象(转)
  6. web前端好学吗?如何能提高CSS编写技巧 提高Web前端开发效率
  7. 利用MFC向导生成单文档应用程序框架
  8. IEEE正推进制定量子计算标准
  9. 读《Redis入门指南》2
  10. 微信登录(官方指导)
  11. 15个HTML5播放器插件
  12. 牛顿迭代法求求一个数的算术平方根
  13. C盘清理(主要的大文件清理)
  14. oracle 查询 降序排列,Oracle 子查询,按降序排列,取前n条
  15. 逆水寒7.25服务器维护,逆水寒7月4日更新维护公告 角色交易功能上线
  16. pdf编辑软件哪个好用?这个办法值得一试
  17. 骞云科技SmartCMP v3.0正式发布!
  18. 2016 年最新苹果开发者账号注册流程详解(个人账号篇)
  19. 基于V4L2的视频驱动开发(2) 华清远见 刘洪涛
  20. 第十五篇 项目整体管理__项目启动会议、项目目标

热门文章

  1. 解决Maven管理项目update Maven时,jre自动变为1.5
  2. 剑指offer编程题Java实现——面试题3二维数组中的查找
  3. 从浏览器地址栏输入url到显示页面的步骤
  4. 查询表结构的语句总结
  5. effective C++ 条款 3:尽可能使用const
  6. android 系统之ContentProvider
  7. Teams的MessageExtension最新功能:Initiate actions
  8. chrome同步_如何在Chrome中打开或关闭同步
  9. 上周面试回来后写的Java面试总结,想进BAT必看
  10. Eclipse Add generated serial version ID报错解决方案