随笔分类 -  AL_Array

摘要:54. Spiral Matrix 题意:螺旋打印二维矩阵 1. 正常做法 直接按照螺旋的思想一个个打印出来。 class Solution(object): def spiralOrder(self, matrix): """ :type matrix: List[List[int]] :rtyp 阅读全文
posted @ 2017-08-20 01:03 banananana 阅读(207) 评论(0) 推荐(0)
摘要:48. Rotate Image 翻转二维数组,这分为顺时针和逆时针,分别如下: 1. 顺时针 ''' clockwise rotate first reverse up to down, then swap the symmetry 1 2 3 7 8 9 7 4 1 4 5 6 => 4 5 6 阅读全文
posted @ 2017-08-19 15:52 banananana 阅读(127) 评论(0) 推荐(0)
摘要:621. Task Scheduler 这道题让你计算执行一系列任务所耗费的时间,根据题目要求,安排每个相同的任务之间需要经历n个空档,在这n个空档中,你可以安排其它的任务,你也可以设置为空闲。 举个例子,AAABBC,3,过程如下: 我们可以发现总的时间为,三个A之间相互的距离再加上最后一个A的时 阅读全文
posted @ 2017-08-19 15:12 banananana 阅读(149) 评论(0) 推荐(0)
摘要:40. 组合总和 II 题意 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。解集不能包含重复的组合。 阅读全文
posted @ 2017-08-19 11:43 banananana 阅读(119) 评论(0) 推荐(0)
摘要:39. Combination Sum 注意,题目中允许使用数组中任意值多次,不受限制,一开始的时候就因为这个卡住了,不知道应该怎么做,但有一个大概的思路就是,DFS是肯定要的了,看了别人的题解才知道怎么做。 1. DFS class Solution(object): def combinatio 阅读全文
posted @ 2017-08-19 11:11 banananana 阅读(110) 评论(0) 推荐(0)
摘要:34. Search for a Range 因为题目直接就要求时间复杂度为logn,所以很明显是二分查找,注意这个二分查找需要左右两边,不然长度为1的数组无法进入。 我一开始的做法,是通过二分法找到相应的值,在遍历找到最左边和最右边的相同值,但这个有个问题,就是遍历可能会造成O(n)的时间复杂度( 阅读全文
posted @ 2017-08-19 09:37 banananana 阅读(157) 评论(0) 推荐(0)
摘要:31. Next Permutation 题意:计算下一个比当前排列构成的值要大的排列。 这有个算法: 以1,2,3为例,执行过程如下: 1,3,2(最后一个升序下标为0,即1,最后一个比1要大的是2) -> 2,3,1 -> 2,1,3(反转) import bisect class Soluti 阅读全文
posted @ 2017-08-19 04:41 banananana 阅读(130) 评论(0) 推荐(0)
摘要:18. 4Sum 思路:先排序(要使用Two Pointers必须排序),然后选择两个结点,剩下的两个结点通过Two Pointers来决定。 class Solution(object): def fourSum(self, nums, target): """ :type nums: List[ 阅读全文
posted @ 2017-08-19 03:07 banananana 阅读(123) 评论(0) 推荐(0)
摘要:16. 3Sum Closest 思路:先进行排序(不然后面的两个指针不知道怎么移动),选中一个,再利用Two Pointers选择剩下的两个数,如下: class Solution(object): def threeSumClosest(self, nums, target): """ :typ 阅读全文
posted @ 2017-08-19 01:45 banananana 阅读(117) 评论(0) 推荐(0)
摘要:11. Container With Most Water 没看清楚题目,题中让选中两条线,使其能够装下最多的水。 思路如下: class Solution(object): def maxArea(self, height): """ :type height: List[int] :rtype: 阅读全文
posted @ 2017-08-19 00:42 banananana 阅读(149) 评论(0) 推荐(0)