Leetcode 1. Two Sum (Python)
Posted 有梦放飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 1. Two Sum (Python)相关的知识,希望对你有一定的参考价值。
refer to https://blog.csdn.net/linfeng886/article/details/79772348
Description
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].
Python code
1. Brute Force
class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: N = len(nums) for i in range(N): for j in range(i+1, N): # Traverse the next element in turn if nums[j] == target - nums[i]: return [i,j] break else: continue
This methods have high computation complexity and memory storage.
2. one for loop
class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: N = len(nums) for i in range(N): rest = target - nums[i] if rest in nums: j = nums.index(rest) return [i,j] break else: continue
3. create a dict first
class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: N = len(nums) d = {} for i in range(N): rest = target - nums[i] if nums[i] in d: return d[nums[i]], i else: d[rest] = i
以上是关于Leetcode 1. Two Sum (Python)的主要内容,如果未能解决你的问题,请参考以下文章