两个金额.我使用嵌套循环,但它似乎不工作


class Solution(object)
  def twoSum(self,num,target):
    #nested for loop, but the result shows only the inner loop works
    for i in range(0,len(num)-1,1):
       for j in range(i+1,len(num),1):
             target=target-num[i]-num[j]
             if target!=0:
                target=target+num[i]+num[j]
             else:
                break
        return i,j
Solution().twoSum([0,1,1,3,0],4)

输出:(0,4)#第一个数字永远不会改变,始终为零。所以我认为这可能是外循环的问题,但为什么,我能做些什么来让它工作呢?

既然你没有告诉你的目标,我猜你在寻找这样的解决方案?

class Solution(object):
    def twoSum(self, num, target):
        ans = []
        for i in range(len(num) - 1):
            for j in range(i + 1, len(num)):
                s = num[i] + num[j]
                if s == target:
                    ans.append((i, j))
        return ans
print Solution().twoSum([0, 1, 1, 3, 0], 4)

如果你这样问,别人真的会觉得很困惑。

最新更新