程序员面试金典---12
递归乘法
直接上代码:
/** * @param {number} A * @param {number} B * @return {number} */ var multiply = function(A, B) { if(A === 0 || B === 0)return 0 arr = [0] for(let i = 1; i <= B; i++){ arr[i] = arr[i - 1] + A } return arr[B] };
汉诺塔
代码:
/** * @param {number[]} A * @param {number[]} B * @param {number[]} C * @return {void} Do not return anything, modify C in-place instead. */ var hanota = function(A, B, C) { const n = A.length const move = (n, A, B, C) => { if(n === 1){ C.push(A.pop()) return } // 将A中的n-1个移动到B move(n - 1, A, C, B) // 将A剩余的一个移动到C C.push(A.pop()) // 将B中的n-1个移动到C move(n - 1, B, A, C) } move(n, A, B, C) };
分类:
力扣-程序员面试金典题目整理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!