python 两数之和
生活随笔
收集整理的這篇文章主要介紹了
python 两数之和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 target 的那 兩個 整數,并返回它們的數組下標。你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素在答案里不能重復出現。你可以按任意順序返回答案。示例 1:輸入:nums = [2,7,11,15], target = 9
輸出:[0,1]
解釋:因為 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例 2:輸入:nums = [3,2,4], target = 6
輸出:[1,2]
示例 3:輸入:nums = [3,3], target = 6
輸出:[0,1]
class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:records = dict()# # 用枚舉更方便,就不需要通過索引再去取當前位置的值# for idx, val in enumerate(nums):# if target - val not in records:# records[val] = idx# else:# return [records[target - val], idx] # 如果存在就返回字典記錄索引和當前索引# 常規思路 暴力破解# 時間復雜度為O(n^2)# 空間復雜度為O(1)i = 0 j = 1length = len(nums)while True:if j< length:if i <= (length-1):if nums[i] + nums[j] == target:return [i, j]else:j += 1else:returnelse:i += 1j = i + 1
總結
以上是生活随笔為你收集整理的python 两数之和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 二维矩阵翻转
- 下一篇: python IP地址无效化