顺丰笔试 输入输出
第一题1258的金额面值,对应可以最小携带金额数的代码,
为什么我本地代码都可以运行出来。改个输入输出到赛码就怎么都给我说答案错误。麻烦各位掌掌眼。
//输入不就是正整数readint吗,我试了readline转正整数也不行,人麻了
//let nums = readInt();
let nums = 20;
let arr = [1,2,5,8];
if (nums === 0) {
return 0;
}
let num1 = Array(nums + 1).fill(Number.MAX_VALUE);
num1[0] = 0;
for (let i = 1; i < num1.length; i++) {
for (let j = 0; j < arr.length; j++) {
if (i - arr[j] >= 0) {
num1[i] = Math.min(num1[i], num1[i - arr[j]] + 1);
}
}
}
num1[num1.length - 1] === Number.MAX_VALUE ? -1 : num1[num1.length - 1]
let res = num1[num1.length - 1];
console.log(res)
//print(res);
😥