Leetcode 165.比较号
题目:165.比较版本号
初始思路
代码
var compareVersion = function (version1, version2) {
let arr1 = version1.split('.')
let arr2 = version2.split('.')
// 从左到右开始比较
for (let i = 0; i < arr1.length || i < arr2.length; i++) {
let x = 0, y = 0
if (i < arr1.length) {
x = parseInt(arr1[i])
}
if (i < arr2.length) {
y = parseInt(arr2[i])
}
if (x > y) return 1
else if (x < y) return -1
}
return 0
}
感想
- 一开始想的是把位补足到相等,然后每位比较,后来发现把字符串转换成整数直接省去0了。
Leetcode 70.爬楼梯
题目:70.爬楼梯
初始思路
代码
var climbStairs = function (n) {
let arr = new Array(n + 1)
arr[0] = 1
arr[1] = 1
for (let i = 2; i < arr.length; i++){
arr[i] = arr[i - 1] + arr[i - 2]
}
return arr[n]
};
感想
- 确定递归公式:F(n) = F(n-1) + F(n-2)
- 确定初值:F(0) = 1,F(1) = 1
- 本质是斐波那契数列。