庐陵第一兰陵 2022-04-30 16:33 采纳率: 66.7%
浏览 15

Leetcode第一题为啥这样不行?

class Solution(object):
def twoSum(self, nums, target):
list1 = []
for m in range(len(nums)):
n = target - nums[m]
if n in nums:
list1.append(m)
for o in range(len(nums)):
if nums[o] == n:
list1.append(o)
print(list1)
break

a = Solution()
a.twoSum([2,7,11,15],9)

我是把最后两行删了,传进Leetcode的,在pycharm运行有用,第一次写实验,希望大家给我解答哪里有问题

img

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-05-03 01:03
    关注

    因为你没有检查题目里的另外两种情况(列在后面)
    按照你的思路增加了以下代码,你看一下

    class Solution(object):
        def twoSum(self, nums, target):
            list1 = []
            for m in range(len(nums)):
                n = target - nums[m]
                temp = nums.pop(m) # 删除元素,避免检查重复位置
                if n in nums:
                    list1.append(m) # 把元素加回来
                nums.insert(m, temp)
                for o in range(len(nums)):
                    if nums[o] == n and o!= m: # 排除两个因子在同一位置
                        list1.append(o)
                        print(list1)
                        break
                if len(list1)>1:break # 上面那个break只能跳出内循环,需要再跳出外循环
    a = Solution()
    a.twoSum([2,7,11,15],9)
    a.twoSum([3,2,4],6)
    a.twoSum([3,3],6)
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月30日

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办