其他分享
首页 > 其他分享> > leetcode9 两数之和

leetcode9 两数之和

作者:互联网

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        result=[]
        for i in range(len(nums)):
            for j in range(i+1, len(nums)):   #第i个和第i个之后的数值进行求和对比
                if(nums[i]+nums[j]==target ): #取消了i和j的对比
                    result.append(i)
                    result.append(j)
                    break

        return result

2个for循环
这种算法一般都比较耗时间
在这里插入图片描述

class Solution:

    def twoSum(self,nums,target):
        """
        :param nums:
        :param target:
        :return:
        """
        sort=sorted(range(len(nums)),key=lambda x:nums[x])#有点绕;获取nums
        i=0
        j=len(nums)-1
        alist=[]
        while(nums[sort[i]]+nums[sort[j]]!=target):
            if(nums[sort[i]]+nums[sort[j]]>target):  #当最大的元素和最小的元素相加大于目标值
                j-=1                                 #最大元素前移一个位置
            else:                                    #小于目标值时
                i+=1                                 #最小元素后移一个位置
        alist.append(sort[i])
        alist.append(sort[j])
        return alist

显示智商的算法
参考链接

sorted用法
在这里插入图片描述

根据字符串的长度来排序
在这里插入图片描述

sorted参考链接1
sorted参考链接2

标签:sort,target,nums,append,leetcode9,len,result,两数
来源: https://blog.csdn.net/weixin_45492560/article/details/113801900