题目描述:给定一个整数数组 nums?和一个目标值 target,请你在该数组中找出和为目标值的那?两个?整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
解题思路:创建一个空字典,依次把target-nums[x]的值存入字典,存入一个就跟nums[x+1]去比较, 字典中的key为target-nums[x],value为x,也就是nums[x]在nums列表中的索引位置
代码
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
n = len(nums)
d = {}
for x in range(n):
a = target - nums[x]
if nums[x] in d:
return d[nums[x]],x
else:
d[a] = x
题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
解题思路:考虑三种情况—正数 负数 超出范围溢出
代码:
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
ret = 0
t = abs(x)
while t:
ret = ret*10 + t%10
t /= 10
if ret > 2 ** 31 or -ret < -2 ** 31:
return 0
return ret if x >= 0 else -ret
参考题目地址:力扣官网 LeedCode总结 Python
50题Python版 JAVA版本 题目全汇总版 60题 Python版+题型总结
原文:https://www.cnblogs.com/eugene0/p/12741270.html