leetcode 15.三数の和
847 ワード
n個の整数を含む配列
注意:答えに重複する三元グループは含まれてはいけません.
考え方:まず考えられるのは配列の2つの数の和がtargetに等しいという判断方法で、この問題は明らかに2つの数の和の変形であるため、まずそれを配列に変えて、それから最初の数を取り出して、残りの数の中で2つの数の和が最初の数に等しい反対の数を見つけて、このように3つの数の和は0に等しい.取り出した次の数と現在の数が等しい場合はスキップします.これは、結果が繰り返されるためです.
nums
が与えられ、a+b+c=0となるように、nums
に3つの要素a,b,cが存在するか否かが判断される.条件を満たし、繰り返さないすべての三元グループを見つけます.注意:答えに重複する三元グループは含まれてはいけません.
, nums = [-1, 0, 1, 2, -1, -4],
:
[
[-1, 0, 1],
[-1, -1, 2]
]
考え方:まず考えられるのは配列の2つの数の和がtargetに等しいという判断方法で、この問題は明らかに2つの数の和の変形であるため、まずそれを配列に変えて、それから最初の数を取り出して、残りの数の中で2つの数の和が最初の数に等しい反対の数を見つけて、このように3つの数の和は0に等しい.取り出した次の数と現在の数が等しい場合はスキップします.これは、結果が繰り返されるためです.
class Solution {
public:
vector> threeSum(vector& nums) {
vector> res;
if(nums.size()<3) return res;
sort(nums.begin(),nums.end());
for(int i=0;i