1. Two Sum
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].
class Solution(object):
def twoSum(self, nums, target):
d = {}
for i, n in enumerate(nums):
sec_n = target - n
if sec_n in d:
return [d[sec_n], i]
else:
d[n] = i
x =Solution()
print(x.twoSum([1,1,3,4],5))
7. Reverse Integer
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123 Output: 321
Example 2:
Input: -123 Output: -321
Example 3:
Input: 120 Output: 21
Note:
Assume we are dealing with an environment which could only hold integers within the 32-bit signed integer range. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
x = str(x)
if x[-1] == "0" and len(x)>1:
x = x[:-1]
if x[0] == "-":
res = int("-" + x[-1:0:-1])
return res if res.bit_length() < 32 else 0
else:
res = int(x[::-1])
return res if res.bit_length() < 32 else 0
x = Solution()
print(x.reverse(0))
print(x.reverse(-12030))