算法学习
Dogged21
北京航空航天大学在读
展开
-
【算法学习】删除排序数组中的重复项 II
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1) 额外空间的条件下完成。示例一给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组中超出新长度后面的元素。...转载 2020-04-19 21:28:04 · 148 阅读 · 0 评论 -
【算法学习】55. 跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例一输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例二输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为...原创 2020-04-17 21:00:05 · 108 阅读 · 0 评论 -
【算法学习】组合数
题目从n个人中选择k个人组成一个委员会的不同组合数。思路:递归解法:考虑当前人是否要进入委员会,有两种情况,若进入,则只需求Cn−1k−1C_{n-1}^{k-1}Cn−1k−1;若不进入,则需求Cn−1kC_{n-1}^{k}Cn−1k。判断结束的条件为:若n==k∣∣k==0n==k||k==0n==k∣∣k==0,return 1;若n<kn<kn<k,...原创 2020-04-17 11:07:08 · 119 阅读 · 0 评论 -
【算法学习】楼梯的走法
题目描述假设有n阶楼梯,小明一次可以选择走1阶,也可以选择走2阶,问多少种走法。比如有5阶台阶,共有8种走法。1 1 1 1 11 1 1 21 1 2 11 2 1 11 2 22 1 1 12 1 22 2 1要求使用递归解法。输入描述输入n,表示n阶楼梯,1<=n<=40输出描述输出楼梯的走法总数。样例输入5样例输出8思路分析:以样例...原创 2020-04-15 21:03:58 · 1907 阅读 · 1 评论 -
【算法学习】最大公约数(辗转相除法)
题目描述给定两个正整数,求他俩的最大公约数;要求使用递归,实现辗转相除法输入描述两个整数a,b;1<=a,b<=100000000输出描述最大公约数样例输入6 12样例输出6思路分析:难点在于辗转相除法,又称欧几里得算法。步骤:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止...原创 2020-04-14 22:12:57 · 442 阅读 · 0 评论 -
【算法学习】猴子吃桃
题目描述一只猴子在第一天获得了若干的桃子,他在第n天吃了第n-1天剩下的桃子数的一半加n个桃子;最后第n天吃之前,剩余了1个桃子。求第一天猴子获得的桃子数。输入描述输入一个整数n,1<=n<=20输出描述求第一天猴子获得的桃子数。样例输入3样例输出14...原创 2020-04-13 22:15:15 · 467 阅读 · 0 评论 -
【算法学习】旋转数字正方形
题目描述打印旋转数字正方形输入描述输入一个整数n,1<=n<=31输出描述输出数字正方形。注意,每个数字占4个字符,右对齐,不全则补足空格;样例输入10样例输出 1 2 3 4 5 6 7 8 9 10 36 37 38 39 40 41 42 43 44 11 35 64 65 66 67 ...原创 2020-04-11 14:44:14 · 483 阅读 · 0 评论