第4题,简单测了几个 看看对吗 ```js function code(n, arr) { arr.sort((a, b) => { return b - a; }) const len = String(n).length; let init = Math.pow(10, len - 1) let result = 0; let temp = 0; let flag = false; traverse(init); function traverse(xishu) { if (xishu < 1) { result = Math.max(result, temp); flag = true; return; } if (flag) return; for (let j = 0; j < arr.length; j++) { if (temp + xishu * arr[j] < n) { temp += xishu * arr[j]; traverse(xishu / 10); temp -= xishu * arr[j]; } } return; } return result; } console.log(code(23121, [2, 4, 9])) //22999 console.log(code(209, [1, 2, 9])) // 199 console.log(code(200, [1, 2, 9])) // 199 console.log(code(742, [4, 7])) // 477 ```
点赞 评论

相关推荐

牛客网
牛客企业服务