Leetcode刷题—Python3
1:求两数之和
给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
#你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中的同样元素。
示例:
给定 nums = [2,7,11,15],target = 9;
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回[0,1]
class solution:
def twoSum(self,nums,target):
hash_map = dict()
for i, x in enumerate(nums):
if target - x in hash_map:
return [i,hash_map[target - x]]
hash_map[x] = i
第283题
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入:[0,1,0,3,12]
#输出:[1,3,12,0,0]
#说明:
1、必须在原数组上操作,不能拷贝额外数组;
2、尽量减少操作次数。
class Solution:
def moveZeroes(self,nums):
pos = 0
for i in range(len(nums)):
if nums[i]:
nums[pos] = nums[i]
pos += 1
for i in range(pos, len(nums)):
nums[i] = 0