package
0.0.0-20241125063422-a7e1e0bf04b0
Repository: https://github.com/blueblue0102/leetcode-go.git
Documentation: pkg.go.dev
# README
967. Numbers With Same Consecutive Differences
https://leetcode.com/problems/numbers-with-same-consecutive-differences/
須注意當 k
很小時,組合可能就會有很多種
譬如若 n=3, k=1
,則以 1
開頭的答案可能就會有 121,123,101
所以需要進行枚舉,這是一個 Backtracking 的題目
因此需要先構思出樹的模樣
關於樹的橫向,除了開頭不能是 0
以外,之後的每位數皆可放置 0
每個節點都要探討 +k
和 -k
之後的節點是否存在(0 <= +k/-k <= 9
)
樹的深度取決於 n
graph TB
N0((.))
N0((.))-->N11((1))-->N211((1+k?))
N11((1))-->N212((1-k?))
N0((.))-->N12((2))-->N221((1+k?))
N12((2))-->N222((1-k?))
N0((.))-->N13((3))-->N231((1+k?))
N13((3))-->N232((1-k?))
N0((.))-->N14((4))-->N241((1+k?))
N14((4))-->N242((1-k?))
N0((.))-->N15((5))-->N251((1+k?))
N15((5))-->N252((1-k?))
N0((.))-->N16((6))-->N261((1+k?))
N16((6))-->N262((1-k?))
N0((.))-->N17((7))-->N271((1+k?))
N17((7))-->N272((1-k?))
N0((.))-->N18((8))-->N281((1+k?))
N18((8))-->N282((1-k?))
N0((.))-->N19((9))-->N291((1+k?))
N19((9))-->N292((1-k?))
Takeaway
- Backtracking