美文网首页
找出所有满足条件且不重复的三元组

找出所有满足条件且不重复的三元组

作者: peerben | 来源:发表于2019-04-02 20:39 被阅读0次

练手


WechatIMG1157.png

给定一个包含n个整数的数组nums, 判断nums中是否存在三个元素a, b, c, 使得 a+b+c = 0 ? 找出所有满足条件且不重复的三元组
注意: 答案中不可以包含重复的三元组

粗略想了一下, 可以转化为 b+c = -a, 这样简化, 并不难.
感觉自己的水平提高了...

function threeSumZero(numList: number[]) {
  const tsList : Array<number[]>= [];

  numList.forEach((val, index) => {
    const restList = numList.slice(index + 1);

    restList.forEach((cur, index, arr) => {
      arr.slice(index + 1).some(v => (val + cur + v === 0) && !!tsList.push([val, cur, v]));
    });
  });

  // 去重
  const sortList = tsList.map(arr => arr.sort((a, b) => a - b).join('.'));
  const resList = Array.from(new Set(sortList)).map(str => str.split('.'));

  return resList;
}

const res = threeSumZero([-1, 0, 1, 2, -1, -4]);
console.log(`res ${JSON.stringify(res)}`);

打印

res [["-1","0","1"],["-1","-1","2"]]

相关文章

  • 找出所有满足条件且不重复的三元组

    练手 给定一个包含n个整数的数组nums, 判断nums中是否存在三个元素a, b, c, 使得 a+b+c = ...

  • 3Sum问题

    问题 给定一个整数数组,找出数组中所有的三元组,满足 三元组不允许重复,即对于,若是的一个排列数,那么与是重复的。...

  • 三数之和

    描述 给出一个有n个元素的数组S,S中是否有元素a,b,c满足a+b+c=0?找出数组S中所有满足条件的三元组。 ...

  • LeetCode Prob.15 3Sum的各种解法

    题目描述 给定一个整数列表,请问能否从中找出所有满足a + b + c = 0的三元组?例如,给定[-1, 0, ...

  • 算法---在整数数组中求三个数之和为0

    在一个整数数组中找出所有和为0的三元组

  • 15.三数之和

    给定一个整型向量,找出所有的三元组使之和为0(不允许重复)。 思路1:第一反应是一道动态规划问题。如果采用三层循环...

  • 【LintCode 题解 | Amazon 面试题:Find S

    题目描述 给定长度k,找出字符串str里面所有长为k的子串。子串的字符不能重复,输出满足这样条件的子串数量(子串相...

  • COMP9021 Principles of Programmi

    1.寻找符合条件的平方数组 requirement:找三个完全平方数,它们的数字从1-9中选择,且不重复,找到所有...

  • 156 - Ananagrams

    输入一些单词,找出所有满足下列条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词。在判断是否满足条件...

  • 找出所有重复数(442)

    题目 一个长度为n的整数数组,其中的元素满足1 ≤ a[i] ≤ n。其中部分元素出现两次,另一部分出现一次。找出...

网友评论

      本文标题:找出所有满足条件且不重复的三元组

      本文链接:https://www.haomeiwen.com/subject/gupnbqtx.html