顺丰笔试 输入输出

第一题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);



😥

#顺丰科技##笔经#
全部评论
给个“不要1”的答案,请各位大佬看看。可惜,等结束了才想起来可以这么做。 int main() {  int N;  cin >> N;  if (N <= 0) {   cout << 0 << endl;   return 0;  }  vector<int> list;  list.resize(N);  for (int i = 0; i < N; i++) {   cin >> list[i];  }  vector<int> coins;  coins.resize(8);  int index = 1;  for (int i = 1; i < 9; i++) {   index = index * 10 + 1;   coins[i - 1] = index;//最大为111111111,因为值最大为1000000000  }  int count = 0;  for (int i = 0; i < N; i++) {   for (int j = 8; j >= 0; j--) {    list[i] = list[i] % coins[j];//从大到小,直接循环模   }   if (list[i] == 0) {//最后结果为0的,肯定由多个11,111,1111,...,组成    count++;   }  }  cout << count << endl;  return 0; }
1 回复 分享
发布于 2021-09-06 22:58
有大佬讲一下 旅游那道题怎么做么
1 回复 分享
发布于 2021-09-06 21:28
楼主  请问收到面试了没  我同学java收到了面试
点赞 回复 分享
发布于 2021-09-07 17:07
受不了了,竟然都是leetcode原题...
点赞 回复 分享
发布于 2021-09-07 09:15
第一题过了27%,第二题过了18%,有没有一样的
点赞 回复 分享
发布于 2021-09-06 21:35
11 111这个怎么写啊
点赞 回复 分享
发布于 2021-09-06 21:24
我为啥题目和你不一样 你是什么岗位呀
点赞 回复 分享
发布于 2021-09-06 21:18

相关推荐

05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务