01 Two Sum

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

class Solution(object):
    def twoSum(self, nums, target):
        nums1 = nums[:]
        nums1.sort()
        i = 0
        j = len(nums1) - 1 
        index = []
        while i < j:
            if nums1[i] + nums1[j] == target:
                for x in range(len(nums)):
                    if nums[x] == nums1[i]:
                        index.append(x)
                        break
                for x in range(len(nums)-1,-1,-1):
                    if nums[x] == nums1[j]:
                        index.append(x)
                        break
                index.sort()
                break
            elif nums1[i] + nums1[j] < target:
                i += 1
            elif nums1[i] + nums1[j] > target:
                j -= 1
        return index
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容