[leetCode刷题笔记]2017.02.22
来源:互联网 发布:单片机中断响应过程 编辑:程序博客网 时间:2024/06/16 09:57
209. Minimum Size Subarray Sum
这道题用两个指针做。。。end先跑,跑到sum>s或者数组末尾。然后start开始跑(跑的条件是sum >= s and start <= end)跑完后如果length还是原始值则返回0,否则返回最小subarray长度
class Solution(object): def minSubArrayLen(self, s, nums): """ :type s: int :type nums: List[int] :rtype: int """ # sub-array length length = len(nums) + 1 sum = 0 # two point start = 0 end = 0 while (end < len(nums) and start < len(nums)): # end run first while (sum < s and end < len(nums)): sum += nums[end] end += 1 # start run while (sum >= s and start <= end): length = min(length, end - start) sum -= nums[start] start += 1 # when cannot get sub array larger than sum if length == len(nums) + 1: return 0 else: return length
216. Combination Sum III
这道题还是用递归做。。用python比Java简单太多了。。。
class Solution(object): def combinationSum3(self, k, n): """ :type k: int :type n: int :rtype: List[List[int]] """ output = [] # count is number of element in nums # sum sum of values # start value is 1 to 9 def search(start, count, sum, nums): if count > k or sum > n: return if count == k and sum == n: output.append(nums) return for i in range(start + 1, 10): search(i, count + 1, sum + i, nums+[i]) search(0, 0, 0, []) return output
219. Contains Duplicate II
用dict做,很简单
class Solution(object): def containsNearbyDuplicate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: bool """ nums_dict = {} for i in range(len(nums)): if nums[i] in nums_dict: j = nums_dict[nums[i]] if i - j <= k: return True nums_dict[nums[i]] = i return False
0 0
- [leetCode刷题笔记]2017.02.22
- Leetcode刷题笔记
- LeetCode刷题笔记
- LeetCode刷题笔记
- leetcode刷题笔记
- [leetCode刷题笔记]2017.02.01
- [leetCode刷题笔记]2017.02.02
- [leetCode刷题笔记]2017.02.03
- [leetCode刷题笔记]2017.02.04
- [leetCode刷题笔记]2017.02.05
- [leetCode刷题笔记]2017.02.06
- [leetCode刷题笔记]2017.02.07
- [leetCode刷题笔记]2017.02.08
- [leetCode刷题笔记]2017.02.09
- [leetCode刷题笔记]2017.02.11
- [leetCode刷题笔记]2017.02.12
- [leetCode刷题笔记]2017.02.13
- [leetCode刷题笔记]2017.02.14
- 多线程共享数据的几种处理方式之synchronized
- varnish squit 比较
- PHPRPC
- js代码实现二叉查找树的算法
- hadoop 目录文件按GB显示
- [leetCode刷题笔记]2017.02.22
- Dockerfile注意事项
- js调用打印机打印网页字体总是缩小一号的解决方法
- 337 House Robber III
- [mySQL]关于add table的一个注意小事项,直接影响后续populate table
- Python轻松入门-19 zip函数
- Java引用--StrongReference、SoftReference、WeakReference、PhantomReference
- python基础教程(1)
- EM2040D的SIS软件更新安装的步骤