Climbing Stairs
2013-11-12 14:24
169 查看
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
第三遍:
use only 2 constant space:
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
public class Solution { public int climbStairs(int n) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. // s(n) = s(n - 1) + s(n - 2) if(n < 1)return 0; else if(n == 1) return 1; else if(n == 2) return 2; int first = 1; int second = 2; int result = 0; for(int i = 3; i <= n; i ++){ result = first + second; first = second; second = result; } return result; } }
第三遍:
use only 2 constant space:
public class Solution { public int climbStairs(int n) { if(n < 1) return 0; int[] result = new int[] { 1, 2 }; for(int i = 2; i < n; i ++){ int tmp = result[0] + result[1]; result[i % 2] = tmp; } return result[(n - 1) % 2]; } }
相关文章推荐
- pthread_cond_wait()
- tty write return EAGAIN
- UVa:10651 Pebble Solitaire
- zoj 1525 Air Raid 有向无环图的最小路径覆盖(匹配)
- zoj 1525 Air Raid 有向无环图的最小路径覆盖(匹配)
- Install Rails on ubuntu 12.04 LTS
- hdu4770Lights Against Dudely
- grails中报Cannot create a session after the response has been committed异常的解决办法
- Sugarcrm Email Integration
- Screen width、height、availWidth、availHeight属性
- Dataguard failover切换应用redo操作
- AWR Wait Class
- AIX培训总结
- keychain使用介绍
- CjUnitDetailViewController
- UserinfoMainViewController
- UnitDetailMainViewController
- UserinfoMainView
- UnitDetailDetailViewController
- UnitDetailMainView