程序员面试金典---24
部分排序
思路:双指针,但是该双指针并不是相互关联的双指针。
/** * @param {number[]} array * @return {number[]} */ var subSort = function(array) { if(!array.length){ return [-1, -1] } let left = -1 let right = -1 let min = Number.MAX_SAFE_INTEGER let max = Number.MIN_SAFE_INTEGER for(let i = 0; i < array.length; i++){ if(array[i] >= max){ max = array[i] }else{ right = i } if(array[array.length - 1 - i] <= min){ min = array[array.length - 1 - i] }else{ left = array.length - 1 - i } } return [left, right] };
珠玑运算
思路:简单模拟
/** * @param {string} solution * @param {string} guess * @return {number[]} */ var masterMind = function(solution, guess) { let gusTrue =0 for(let i = 0; i < solution.length; i++){ if(solution[i] === guess[i]){ gusTrue ++ solution = solution.slice(0,i) + solution.slice(i + 1) guess = guess.slice(0,i) + guess.slice(i + 1) i-- } } let gusFalse = 0 for(let i = 0; i < solution.length; i++){ let index = guess.indexOf(solution[i]) if(index > -1){ gusFalse++ guess = guess.slice(0, index) + guess.slice(index + 1) } } return [gusTrue, gusFalse] };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!