题解 | 跳台阶
跳台阶
https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param number int整型 * @return int整型 */ function jumpFloor(number) { // write code here\ const map = new Map(); map.set(1, 1); map.set(2, 2); if (number > 2) { for( let i = 3; i <= number; i++) { map.set(i, map.get(i-1) + map.get(i-2)) } } return map.get(number); // return getNmberJunmp(number); // 第二种利用递归法 } function getNmberJunmp(floorNumber) { // 最后状态: 跳n阶的跳法, 跳1阶+ 最后(n-1)种跳法, if (floorNumber < 0) return new Error("输入值不合法"); if (floorNumber === 0) return 0; if (floorNumber === 1) return 1; if (floorNumber === 2) return 2; return getNmberJunmp(floorNumber - 1) + getNmberJunmp(floorNumber - 2) } module.exports = { jumpFloor: jumpFloor, };