首页 > 试题广场 >

给定一个整数数组,判断其中是否有3个数和为N

[编程题]给定一个整数数组,判断其中是否有3个数和为N
  • 热度指数:4297 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解
给定一个整数数组,判断其中是否有3个数和为N

输入描述:
输入为一行
逗号前为一个整数数组,每个元素间用空格隔开;逗号后为N


输出描述:
输出bool值
True表示存在3个和为N的数
False表示不存在3个和为N的数
示例1

输入

1 2 3 4 5,10

输出

True

备注:
数组长度不超过2000,所以数均为int范围的正整数
const input = readline().split(',');
  const arr = input[0].split(' ').map((item) => +item);
  const n = +input[1];
  let findFlag = false;

  for(let i = 0; i < arr.length; i++) {
    if(findFlag) break;
    for(let j = i + 1; j < arr.length; j ++) {
      if(findFlag) break;
      for (let k = j + 1; k < arr.length; k++) {
        if (arr[i]+arr[j]+arr[k] === n) {
          findFlag=true;
          break;
        }
      }
    }
  }
  console.log(findFlag ? 'True' : 'False');

把评论区第一个解答转化为js后发现只能通过16个,不知道原因,故而还是用3重for解决, 用时1500ms

发表于 2021-09-03 22:11:21 回复(0)

热门推荐

通过挑战的用户

查看代码