胧(LeetCode 1)
LeetCode刷题记录
From[My Site]: https://mirrormoon.top/#/post/17
不积跬步无以至千里
不积小流无以成江海
/**
* @param {number} n
* @return {number}
*/
var fib = function(n) {
if(n == 0) {
return 0
}
if(n == 1) {
return 1
}
pre = 0
now = 1
for(var i=2;i<=n;i++) {
var temp = now
now = pre + now
pre = temp
}
return now
};
/**
* @param {number[]} coins
* @param {number} amount
* @return {number}
*/
var coinChange = function(coins, amount) {
let list = {}
let sub = function(num) {
if(list[num] !== undefined) {
return list[num]
}
if(num === 0) {
return 0
}
if(num < 0) {
return -1
}
let result = Infinity
for(let coin of coins) {
let child = sub(num - coin)
if(child === -1){
continue
}
result = Math.min(result, 1+child)
}
list[num] = result !== Infinity ? result : -1
return list[num]
}
return sub(amount)
};
/**
* @param {number[]} nums
* @return {number}
*/
var lengthOfLIS = function(nums) {
let list = new Array(nums.length).fill(1)
for(let i=0;i<nums.length;i++){
for(let j=0;j<i;j++){
if(nums[i] > nums[j]) {
list[i] = Math.max(list[i],list[j]+1)
}
}
}
let result = 1
for(let i=0;i<list.length;i++) {
result = Math.max(result, list[i])
}
return result
};

浙公网安备 33010602011771号