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

[leetcode]問題解答と解説。977. Squares of a Sorted Array [JavaScript]

[leetcode]問題解答と解説。977. Squares of a Sorted Array [JavaScript]

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

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

では今日のleetCode。
【977. Squares of a Sorted Array】の解決策と方法。自分がまず挑戦して
やったことをさらけ出します。

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

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

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

[leetcode] 977. Squares of a Sorted Array ルール

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

[leetcode] 977. Squares of a Sorted Array 問題ページ

389. Find the Difference

[leetcode] 977. Squares of a Sorted Array

my code is not completed

var sortedSquares = function(nums) {
    let arr = []
    for (let i = 0; i < nums.length; i++) {
        arr.push(nums[i] * nums[i])
    }
    return arr.sort((a, b) => a - b) 
};

おそらくもっと効率の良いコードがあるはずだと思いながら、一旦クリアすることだけを考えたコードです..学んでいきましょう。。

[leetcode] 977. Squares of a Sorted Array。discussの中の一つの解答例

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

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

気に入った解答1

var sortedSquares = function(A) {
    let result = [];
    let l = 0;
    let r = A.length - 1;
    let p = r;

    while (l <= r) {
        if (A[l] ** 2 > A[r] ** 2) {
            result[p--] = A[l++] ** 2;
        } else {
            result[p--] = A[r--] ** 2;
        }
    }

    return result;
};

[leetcode] 977. Squares of a Sorted Array をやってみて感想

  • 自分のコードのパフォーマンスの悪さ

カテゴリー leetCode