Day18

光阴易逝,科研进展缓慢。恍恍惚惚间蹉跎了多少时光。

  1. 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

  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

你可能感兴趣的:(Day18)