コード:口語聴解作文-2
Pascal's triangle
https://leetcode.com/explore/learn/card/array-and-string/202/introduction-to-2d-array/1170/
質問を見ると、これはRitcodeのランニング部分にたくさんあると思います.見ると、当然基本的にfor文が思い浮かぶ.そして、1の左右合は以下に追加されます.いろいろ考えたけど失敗したまず、0番目の最初のインデックスは[1]と[1,1]を使用しなければならないと思います.そして下をぐるっと回ってforドアをどうやってあんな風にするか考えていましたが、私は本当に知りませんでした.
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
'''
input: numRows = 5, output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
'''
pascal = [[1], [1, 1]]
if numRows <= 2:
if numRows == 0:
return pascal
elif numRows == 1 or numRows < 0:
return pascal[:1]
for _ in range(3, numRows + 1):
li = [1]
for n in range(1, len(pascal[-1]) + 1):
li.append(sum(pascal[-1][n-1:n+1]))
pascal.append(li)
return pascal
まずこの方式で行うことにした.もちろんそうするとは知らなかった.一番下のfor部分はとても重要な感じがします私はいつもfor文から作成して、車に戻りたいのですが、今回のfor文の解題は少し付加的な感じがします.プログラマ-アクセス長
問題を見ると、
第一に、それを見ると、方向を変えるナビゲーション機能コードが必要です.第二に、その上で、入力値に移動し、問題の説明に従って、歩く道は消去の方向に向かうべきである.第三に、重複した袋を取り除き、瞬時に価格の袋に入れる準備をする.だから私が思いついたのはスタックです.しかし残念なことに,スタックから遠いコードが記述されている.とりあえず、4つ目を消して、繰り返すときは、早めにこれを消してはいかがでしょうか?そう思います.問題を見れば過去を解消する方向に考えるべきで、これを早めに解消しておけばどうなるのでしょうか?そこで重複文字を省略したいと思います.
https://programmers.co.kr/learn/courses/30/lessons/49994
def solutions(dirs):
dxs, dys = [-1, 0, 1, 0], [0, -1, 0, 1]
d = {"U":0, "L":1, "D":2, "R":3}
visited = set()
answer = 0
x, y = 0, 0
for dir in dirs:
i = d[dir]
nx, ny = x + dxs[i], y + dys[i]
if nx<-5 or nx>5 or ny<-5 or ny>5: continue
if (x, y, nx, ny) not in visited:
visited.add((x, y, nx, ny))
visited.add((nx, ny, x, y))
answer += 1
print((x, y, nx, ny), (nx, ny, x, y))
x, y = nx, ny
return answer
私はdをそんなにきれいに編んでいません.簡単にif文で専門用語で「打った」と言えると思います.ここで私が考えている大きなポイントは、方向、繰り返し、条件をポケットに入れる、この3種類です.まだ長い道があるようですが...とにかく.もちろんやります.Reference
この問題について(コード:口語聴解作文-2), 我々は、より多くの情報をここで見つけました https://velog.io/@bright_root/코딩-말하기-듣기-쓰기-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol