刷题之Implement strStr()、Climbing Stairs
2024-10-08 17:26:48
public class Solution {
public int strStr(String haystack, String needle) {
int big = haystack.length();
int sub = needle.length();
if(big==0 && sub==0) return 0;
if(big==0 && sub!=0) return -1;
int index = big-sub;
for(int i=0;i<=index;i++){
if(haystack.substring(i,sub+i).equals(needle))return i;
}
return -1;
}
}
是int index = haystack.indexOf(needle)的另一种做法
Climbing Stairs
1)递归调用(容易内存溢出):
public class Solution {
public int climbStairs(int n) {
if(n<1)return 0;
if(n==1)return 1;
if(n==2)return 2;
return climbStairs(n-1)+climbStairs(n-2);
}
}
2)类似斐波那契数列,开头1,2.代替1.1
public class Solution {
public int climbStairs(int n) {
if(n<1)return 0;
if(n==1)return 1;
if(n==2)return 2;
int nums = 0;
int one = 1;
int two = 2;
for(int i=3;i<=n;i++){
nums = one+two;
one = two;
two = nums;
}
return nums;
}
}
https://leetcode.com/problems/climbing-stairs/#/description
最新文章
- Android,LIstView中的OnItemClick点击无效的解决办法
- Codeforces Round #133 (Div. 2)
- Linux 同步时间
- 扩展欧几里得算法(extended Euclidean algorithm)的一个常犯错误
- LSTM基础
- 浅谈Java多态
- mysql服务处理流程
- [LeetCode] Number Complement 补数
- 带你深入理解STL之Vector容器
- A记录、CNAME和URL转发区别
- handsontable 常用 配置项 笔记
- UI自动化测试模型
- Hibernate注解开发、注解创建索引
- MSDN2001 快捷方式丢失的处理方法
- SaaS的中年危机(转)
- 《剑指offer》第四十三题(从1到n整数中1出现的次数)
- Android必学之AsyncTask
- WinForm窗体多线程操作实例
- java基础55 UDP通讯协议和TCP通讯协议
- 20145319 return-to-libc攻击实验