森田賢二のleetCodeの使い方、解説、解答を毎日更新しているキャラクター

[leetcode]問題解答と解説。15. 3Sum [JavaScript]

[leetcode]問題解答と解説。15. 3Sum [JavaScript]

皆さんleetCode好きですよね。私も好きです。
なかなかやる機会がないのですよね。
leetCodeの使い方や解説ではなく実際に問題を解決するために何をしたか
をメモ書きして行きます

私はある決意をして今臨んでいます。
モチベーションを保つためだけにこれをやっています。

では今日のleetCode。
「15. 3Sum」の解決策と方法。自分がまず挑戦して
やったことをさらけ出します。

※下にある自分のコードは自分で設けた制限時間内に書けたところまです。

これは
「私は年末までこれを続けたらどんなleetCoderになるか」のシリーズ。
実験的ブログ更新です。

森田賢二のleetCode
森田賢二のleetCode

15. 3Sum ルール

ざっくり和訳

exampleは実際の問題ページを見てください

15. 3Sum 問題ページ

15. 3Sum

15. 3Sum

my code is not good(compile error)

function threeSum(nums: number[]): number[][] {
    let first = 0;
    let second = 1;
    let search = 2
    if(nums.length === 3 && nums[first] + nums[second] + nums[search] === 0) return [nums[first], nums[second], nums[search]]
    let result = []
    while(search < nums.length){
        if((nums[first] + nums[second] + nums[search]) === 0){
            result.push([nums[first], nums[second], nums[search]])
        }
        first++
        second++
        search++
    }
    return result
};

時間切れ。

  • 0と同値になるように2つのインデックスで得た値の正負を逆転させて探したかった。

15. 3Sum。discussの中の一つの解答例

数ある中からJavaScriptのもので、理解しやすい解説をピックアップしました。
discussから見ればさらにもっと違う方法で真似したくなるものがあるかもしれないですね

JavaScriptでfilterされている、discussはこちらから

これが違う実装

[15. 3Sum]

1

15. 3Sumをやってみて感想

  • WIP

カテゴリー leetCode