weixin_44488236
草明&草明
采纳率33.3%
2020-11-13 09:09 阅读 45

(python)新手入leetcode,很短的一段程序显示超出时间限制

class Solution(object):
    def twoSum(self, nums, target):
        length=len(nums)
        for i in range(length-1):
            j=i
            while j<(length-1):
                j+=1   
                if nums[i]+nums[j]==target:
                    return (i,j)
                   
s=Solution()
lst=[2,7,11,15]
number=9
s.twoSum(lst,number)

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

 

本人第一次使用leetcode,感觉代码已经很简短了,实在不明白为何还是显示超出时间限制???求大佬帮忙解答一下!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • qqzhuimengren PythonJavaC++go 2020-11-13 10:01

    一个for、一个while,双重循环。n的平方次,自然超出时间喽

    点赞 评论 复制链接分享
  • weixin_44488236 草明&草明 2020-11-13 11:02

    那不用循环用什么?

    点赞 评论 复制链接分享
  • weixin_44488236 草明&草明 2020-11-13 11:41

    我把while改成了for,还是不行

    点赞 评论 复制链接分享
  • weixin_44488236 草明&草明 2020-11-13 11:58
    class Solution(object):
        def twoSum(self, nums, target):
            length=len(nums)
            for i in range(length-1):
                # while j<(length-1):
                #    j+=1   
                for j in range(i+1,(length)):
                    if nums[i]+nums[j]==target:
                        return (i,j)
                       
    s=Solution()
    lst=[3,2,4]
    number=6
    s.twoSum(lst,number)

     

    点赞 评论 复制链接分享

相关推荐