一个青蛙上台阶,一次可以上一个或两个,上n阶台阶方式有多少种?
通过找规律发现结果符合斐波那契数列!
class Solution {
public int numWays(int n) {
//0 1
//1 1
//2 2
//3 3
//4 5
//5 8
//6 13
//7 21
//8 34
int twoOfnum = n/2;
int[] dp =new int[n+1];
if(n == 0||n==1)return 1;
dp[0]=1;//0个二的时候
//动态规划方程
//2 dp[1] = dp[0] + n/2 * 2;
//3
//dp[i] = dp[i-1] + n-2
if(n>=2){
dp[1] =1;
for(int i = 2;i<= n;i++){
dp[i] = (dp[i-1] + dp[i-2])%1000000007;
}
}
return dp[n];
}
}
剑指 Offer 11. 旋转数组的最小数字
直接暴力解题
class Solution {
public int minArray(int[] numbers) {
Arrays.sort(numbers);
return numbers[0];
}
}