python實現給定一個數和數組,求數組中兩數之和為給定的數


給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重復利用。

示例:
給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

代碼實現:

    def twoSum(self, nums, target):
        nums_bak = nums.copy()
        nums.sort()
        i = 0
        j = 0
        for k in range(0, (len(nums) - 1)):
            if nums[k] + nums[k + 1] >= target:
                i = k
                j = k + 1
                break
        while i >= 0 and j < len(nums):
            if nums[i] + nums[j] < target:
                j += 1
            elif nums[i] + nums[j] > target:
                i -= 1
            else:
                if nums[i] == nums[j]:
                    return [nums_bak.index(nums[i]), nums_bak.index(nums[j], i + 1)]
                else:
                    return [nums_bak.index(nums[i]), nums_bak.index(nums[j])]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM