擅长:python、mysql、java
<p>解决堆栈溢出问题的一种方法是手动模拟调用堆栈</p>
<pre class="lang-py prettyprint-override"><code>def numWays(n, arr):
call_stack = [(n, arr)]
answer = 0
while call_stack:
n, arr = call_stack.pop(0)
for item in arr:
if item <= n:
if n == item:
answer += 1
else:
call_stack.insert(0, (n-item, arr))
return answer
li = [i for i in range(1, 7)]
print(numWays(5, li))
</code></pre>
<p>输出:</p>
<pre><code>16
</code></pre>