leetcode之Two Sum

本文介绍了一个经典的编程问题TwoSum的解决方案。TwoSum的目标是在给定的整数数组中找到两个数,使它们的和等于特定的目标值,并返回这两个数的索引加一。文章提供了一段Python代码实现,通过排序和查找的方法来解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Two Sum的意思是求出2个和为指定值的2个数的index + 1。因为python是从0开始的,所以最后要加上1.鉴于原题已经假设有且仅有一个解,因此就没有考虑特殊情况啦。需要注意的是如果是2个想等的数的和为target,需要使用index的时候注意一下,包括后面的index都会跟着改变。代码如下:
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        list1 = []
    	list2 = sorted(nums)
    
    	for i in range(len(nums)):
    		if target - list2[i] in nums:
    			if list2[i] * 2 == target:
    				a = nums.index(list2[i])
    				list1.append(a + 1)
    				list1.append(nums[a + 1:].index(list2[i]) + 1 + a + 1)
    			else:
    				list1.append(nums.index(list2[i]) + 1)
    				list1.append(nums.index(target - list2[i]) + 1)
    			list1.sort()
    			return list1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值