1.leetcode.33搜索旋转排序数组
class Solution
{
public int search(int [] nums,int target)
{
for(i=0;i<nums.length;i++)
{
if(nums[i]==target)//如果存在于数组内,返回索引位置--数组下标
return i;
}
return -1;//如果不存在返回-1
}
}
2.leetcode.81 搜索旋转排序数组二
class Solution
{
public boolean search(int [] nums,int target)
{
for(i=0;i<nums.length;i++)//遍历
{
if(nums[i]==target)//如果存在于数组内,同理,返回true
return true;
}
return false;//如果不存在返回false
}
}
3.leetcode.153 寻找旋转排序数组中的最小值
class Solution
{
public int search(int [] nums,int target)
{
int min=nums[0];
for(int i=0;i<nums.length;i++)
{
if(min>nums[i])//判断大小,如果min大的话就交换值
min=nums[i];
}
return min;
}
}
4.leetcode.70 爬楼梯
来看下面一段错误的代码
//来看下面错误的代码,也是我刚写的思路,因为在列举的时候发现规律和斐波那契数列差不多
class Solution
{
public int jiejie(int n)
{
if(n==1)
{
return 1;
}
if(n==2)
{
return 2;
}
else
return jiejie(n-1)+jiejie(n-2);
}
}
下面是正确的代码
class Solution {
public int climbStairs(int n) {
int[] jie = new int[n + 1];
jie[0] = 1;
jie[1] = 1;
for(int i = 2; i <= n; i++) {
jie[i] = jie[i - 1] + jie[i - 2];
}
return jie[n];
}
}
- 大致思路几乎一样,但是在运算时,第一个代码的计算速率过慢,不满足题意。
- 5.leetcode.509.斐波那契数列
- 根据斐波那契数列的特点我们可以用简单递归去水这道题
class Solution {
public int fibs(int n) {
if(n==0||n==1)
return n;
else
return fibs(n-1)+fibs(n-2);
}
}
6.leetcode.1137第N个斐波那契数列
注意哦,如果这道题像上一道题一样用简单递归写,会提示超出时间限制
int jie(int n)
{
int a[38];
a[0]=0;//初始化
a[1]=a[2]=1;
int i=3;
for(i=3;i<=n;i++)
{
a[i]=a[i-1]+a[i-2]+a[i-3];//根据斐波那契数列和题目案例,我们得出第n项在大于2时,会等于前3项之和
}
return a[n];
}
结合者对比分析!
最后,真诚的感谢 英雄哥 推出的打卡活动,不管多忙,明天也要继续打卡哦!
九国列车打卡第四天!