第55题:
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。(来自LeetCode)
1、利用数组内的元素来来计算最终是否可到达数组最后的一个位置;
就是计算数组内的元素和其下标的和是否大于最后位置的下标;
可以用一个值来保存此刻位置时可到达的最远位置;
如果循环到了这个值不能到达的位置;
也就是这个位置的下标大于这个值的时候说明数组内元素不能让你跳到最后位置,返回false;
否则返回true。
2、也可从最后这个位置开始向前遍历判断;
用一个变量来存储此时可前移到的最远位置;
如果最远位置最终大于0,就返回false,否则就返回true。(思想差不多)
第38题:
给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。
注意:整数序列中的每一项将表示为一个字符串。来源:力扣(LeetCode)
「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:
1. 1
2. 11
3. 21
4. 1211
5. 111221
1、从题目可知如果我们要判断n的外观数列,就必须直到n-1的外观数列是什么样的;
所以可以使用递归的方法,先得出1的,再2的,再3的……最后到n。