光阴易逝,科研进展缓慢。恍恍惚惚间蹉跎了多少时光。
- Two Sum II - Input array is sorted
**思路:又是双指针问题,前面遇到的链表是否循环,用的是两个不同的指针。在min stack问题中用的是两个不同的堆栈。
Two Sum的题目不是第一次遇到了。第一次做的时候,没有设置是递增序列的条件,当时用的是字典查找。
class Solution(object):
def twoSum(self, numbers, target):
"""
:type numbers: List[int]
:type target: int
:rtype: List[int]
"""
i = 0
j = len(numbers)-1
while i <= len(numbers) and j >= 0:
if numbers[i] + numbers[j] == target :
return i+1,j+1
if numbers[i] + numbers[j] > target :
j -= 1
if numbers[i] + numbers[j] < target :
i += 1
- Excel Sheet Column Number
**思路:26进制的数。关键是怎么将A-Z对应到1-26,有没有简便方法,除了暴力列举。字母转相应的ASCII码,但是这哪记得住ord('a') = 97, ord('A') = 65
class Solution(object):
def titleToNumber(self, s):
"""
:type s: str
:rtype: int
"""
sum = 0
for i in s:
tmp = ord(i) - 64
sum = sum*26 +tmp
return sum
网友评论