[leetcode]問題解答と解説。118. Pascal's Triangle [JavaScript]
皆さんleetCode好きですよね。私も好きです。
なかなかやる機会がないのですよね。
leetCodeの使い方や解説ではなく実際に問題を解決するために何をしたか
をメモ書きして行きます
私はある決意をして今挑んでいます。
モチベーションを保つためだけにこれをやっています。
では今日のleetCode。
【118. Pascal's Triangle】の解決策と方法。自分がまず挑戦して
やったことをさらけ出します。
※下にある自分のコードは自分で設けた制限時間内に書けたところまです。
これは
「私は年末までこれを続けたらどんなleetCoderになるか」のシリーズ。
実験的ブログ更新です。
[leetcode] 118. Pascal's Triangle ルール
Given an integer numRows, return the first numRows of Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it as shown:
gifアニメーション見てもらった方がいいかもしれない
Example 1:
Input: numRows = 5
Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Example 2:
Input: numRows = 1
Output: [[1]]
Constraints:
1 <= numRows <= 30
exampleは実際の問題ページを見てください
[leetcode] 118. Pascal's Triangle 問題ページ
[leetcode] 118. Pascal's Triangle
my code is not good(time out & worng)
var generate = function(numRows) {
for(let r = 1; r <= numsRows, r++){
let arr = Array(r).fill(1)
for(let j = 0; j < arr.length; j++){
arr[j]
}
}
};
runtimeerror
全くdpでやる実装イメージつかなかった。
[leetcode] 118. Pascal's Triangle。discussの中の一つの解答例
数ある中からJavaScriptのもので、理解しやすい解説をピックアップしました。
discussから見ればさらにもっと違う方法で真似したくなるものがあるかもしれない
JavaScriptでfilterされている、discussはこちらから
var generate = function(numRows) {
var pascal = []; // 全体
for (var i = 0; i < numRows; i++) {
pascal[i] = []; // 行が変わったらrowを作る
pascal[i][0] = 1; // rowの一番最初は1
for (var j = 1; j < i; j++) {
pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j] // 前のrowの前後を足す
}
pascal[i][i] = 1; // 最後のrow値
}
return pascal;
};
[leetcode] 118. Pascal's Triangle をやってみて感想
順を追って考えればできたのかもしれない。引き出しが足りない