两个总和。我使用嵌套循环但似乎不起作用

时间:2016-08-25 20:39:02

标签: python null output

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)#第一个数字永远不会改变并且总是为零。所以我认为它可能是外循环的问题,但为什么以及我能做些什么才能使它工作?

1 个答案:

答案 0 :(得分:1)

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

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)

如果你这样问,人们真的会感到困惑。