摘要:
这道题需要用到python中的 OrderedDictclass LRUCache: def __init__(self, capacity): self.dict = collections.OrderedDict() self.capacity = capaci... 阅读全文
摘要:
这道题与153 Find Minimum in Rotated Sorted Array 基本相同,只是有可能有重复的数字, 这样a[left] 就可能与a[mid]相同 因此就多一个可能,因此在最坏的情况下复杂度会是O(n)class Solution: # @param {integer[... 阅读全文
摘要:
这道题与033 Search in Rotated Sorted Array基本思路一样, 也是比较最左边和中间的值的差别,唯一要注意的是 当a[left] < a[mid]的时候需要将a[left] 加入到右半部分一起考虑,因为有可能a[left] 就是最小值class Solution: ... 阅读全文
摘要:
又是一道纯数学的题, 纸上认真研究下就好。 这道题需要Inplace, 所以写了个辅助的reverse.class Solution: # @param {integer[]} nums # @return {void} Do not return anything, modify nu... 阅读全文
摘要:
这道题与 046 Permutations 基本一样, 唯一要注意的是需要去除重复的。 方法是在每一层的选数过程中如果相邻(当然是先排序了的)的数字相同,则在这一层中不再选举。class Solution: # @param {integer[]} nums # @return {int... 阅读全文
摘要:
这道题其实并没有说明这些数字互相不同, 但是因为有047 Permuations 2,则可以假定没有重复的数字, 使用递归。 代码如下class Solution: # @param {integer[]} nums # @return {integer[][]} def perm... 阅读全文
摘要:
这道题纯考数学,懒得打字解释了 方法如下from math import factorial class Solution: # @param {integer} n # @param {integer} k # @return {string} def getPermuta... 阅读全文
摘要:
这道题有一个直观的想法, 就是分别记录每个点的左侧和右侧最大值 对于height[i] 这一点能装的水等于 min(leftMax[i], rightMax[i]) - height[i]. 这个解法需要扫描2次序列。以下的方法只需要扫描一次序列即可。class Solution: # @pa... 阅读全文