プログラマ-ターゲット番号[lv 2](DFS)
3306 ワード
🏄♂️ 問題の説明
制限
🏕️ I/O例
🏃♂️ ソリューション
これは
🏕️ I/O例
🏃♂️ ソリューション
これは
これは
[1, 2, 3]
であると仮定すると、すべての可能な計算数は//図
🧑🏻💻 コード#コード# def solution(numbers, target):
l = len(numbers)
cnt = 0
def dfs(idx,s=0):
if idx == l:
if s == target:
nonlocal cnt
cnt += 1
dfs(idx+1,s+numbers[idx])
dfs(idx+1,s-numbers[idx])
dfs(0)
return (cnt)
def solution(numbers, target):
l = len(numbers)
cnt = 0
def dfs(idx,s=0):
if idx == l:
if s == target:
nonlocal cnt
cnt += 1
dfs(idx+1,s+numbers[idx])
dfs(idx+1,s-numbers[idx])
dfs(0)
return (cnt)
[i]
は、[+i]
および[-i]
に分けることができ、したがって、2回のdfsが実行される.noneLocal
nonlocal cnt
が使用されているので、溶液関数のcnt値を使用することができる.💁♂️ 結果
Reference
この問題について(プログラマ-ターゲット番号[lv 2](DFS)), 我々は、より多くの情報をここで見つけました https://velog.io/@sangwoo24/프로그래머스-타겟-넘버lv-2DFSBFSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol