![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcod
cook_1996
这个作者很懒,什么都没留下…
展开
-
LeetCode225. Implement Stack using Queues
方法1:只用一个队列 出栈直接出队,但是入栈前先直接入队,然后出队n-1个元素并入队,这样刚进队的元素就在队头了。 上代码:class MyStack { private Queue<Integer> queue=new LinkedList<>(); /** Initialize your data structure here. */ ...原创 2018-09-12 08:52:20 · 88 阅读 · 0 评论 -
118. Pascal's Triangle.
python版:class Solution: def generate(self, N): if N == 0: return [] if N == 1: return [[1]] elif N == 2: return [[1], [1, 1]] e...原创 2019-04-30 10:49:03 · 133 阅读 · 0 评论 -
leetcode88. Merge Sorted Array
java版:class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int p = m-1; int q = n-1; int k = m+n-1; while(p>=0 && q>...原创 2019-04-29 15:50:12 · 80 阅读 · 0 评论 -
主元素问题python和Java解法
Python版:class Solution: def majorityElement(self, nums: List[int]) -> int: temp = -1 c = 0 for l in nums: if temp == -1: temp = l ...原创 2019-04-29 15:48:19 · 398 阅读 · 0 评论 -
leetcode75. Sort Colors python代码版
原题方法一:采用三个变量分别计数0,1,2所出现的次数。然后将0,1,2按照这个次数重新填入原列表。class Solution: def sortColors(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. ...原创 2019-02-26 22:48:42 · 141 阅读 · 0 评论 -
leetcode70. Climbing Stairs_python代码版
原题假设爬n个台阶有f(n)种方法,那么爬过第一个步之后就有两种可能:第一次爬一个台阶,那么后面的会有f(n-1)种方法第一次爬两个台阶,后面就会有f(n-2)种方法这样的话,f(n) = f(n-1)+f(n-2)方法一:递归,开销较大,不适用class Solution: def climbStairs(self, n: int) -> int: ...原创 2019-02-26 22:19:29 · 143 阅读 · 0 评论 -
49. Group Anagrams解法对比--python版
原题第一种想法是写一个能够判断两个字符串是否是相互颠倒顺序而成的,但是当列表长度很大时会导致时间超过限制,所以被否决。第二种想法将字符串提取出来,对其字母排序,然后采用字典中键值的方式来进行添加。排序后的结果作为键,原始的字符串作为值,具有相同键的字符串会被添加到同一个值里面。class Solution: def groupAnagrams(self, strs: 'List[st...原创 2019-02-21 12:07:56 · 260 阅读 · 0 评论 -
48. Rotate Image两种解法
原题链接以前貌似做过类似的题目,所以第一个想法就是按照老思路来做,按照每一圈,一圈一圈来旋转:在上图中,j表示现在旋转圈的上部所在的行,i表示现在旋转到了第几列,现在我们就可以将第[j,i]位置的数旋转: temp = A[j][i] A[j][i] = A[n-1-i][j] A[n-1-i][j] = A[n-1-...原创 2019-02-21 10:46:29 · 178 阅读 · 0 评论 -
leetcode33. Search in Rotated Sorted Array相同的思路,不同的复杂度
原题链接第一眼看到这个题,本能的想到二分搜索。自己的解法是这样:先找到最小的值反转后的的位置,例如题目中的数组[4,5,6,7,0,1,2]中0在第四位,记为cur = 4,如何寻找呢?顺序找肯定是不可取的,但是我第一次没有转个来这个弯,居然采用顺序查找的方式(那为什么不直接顺序查找target呢?真是笨)找到cur的位置便可以使用经典的二分查找法,但必须在翻转前后的坐标之间做一个转换,...原创 2019-02-19 11:17:29 · 81 阅读 · 0 评论 -
leetcode62. Unique Paths-绝对精品-多种解法-python版
原题恕我直言,这道题做的十分的爽,解法千变万化,不知是哪位神人出的?解法一:(虽然跑不出来,但是依然要贴上)递归版,但数据量大时leetcode上run会失败。class Solution: def uniquePaths(self, m: 'int', n: 'int') -> 'int': if m==1 or n==1: retu...原创 2019-02-23 22:27:45 · 201 阅读 · 0 评论 -
leetcode5. Longest Palindromic Substring最长回文子串多种解法-待补充
原题链接题目的意思不过多的赘述,这里先给出三种解法:暴力解,马拉车,一种巧解暴力解写一个判断回文的函数,两重循环判断最长子串(这种方法在字符串过长时可能会栈溢出)class Solution: def longestPalindrome(self, s: 'str') -&amp;gt; 'str': if len(s) &amp;lt; 2: return...原创 2019-02-18 15:58:10 · 138 阅读 · 0 评论 -
leetcode 96. Unique Binary Search Trees 递归法和动态规划法--python代码版
原题首先,这道题并不是求简单的n个节点的树形到底有多少种。关键之处必须理解二叉排序树根节点大于左子树节点,小于右子树节点。我们假设n个节点的二叉排序树有f(n)种,树中节点的值为1~n,如果某树的根节点是i,那么此时有多少种的可能呢?根节点左边的节点值均小于根节点,所以有i-1个节点,那么左子树就有f(i-1)种可能,同理右子树就有f(n-i)种可能。这样的话,当根节点为 i 时的可能数...原创 2019-02-27 22:55:20 · 164 阅读 · 0 评论 -
leetcode56. Merge Intervals多种解法-python版
原题解法一:思路,先按照对象的end属性的大小对列表降序排序,(列表内部为自定义对象时降序的方法可以参考这里)然后从头开始比较相邻的两个(i 和 i+1)会有以下三种情况intervals[i].start <= intervals[i+1].end and intervals[i].start >= intervals[i+1].start,这时需要将二者合并interv...原创 2019-02-22 09:34:39 · 401 阅读 · 0 评论 -
leetcode31 Next Permutation下一个排列 Python多种解法
原题链接我猜测应该有不少人没能理解这道题到底在干什么?一开始我一没看懂,网上的一些文章也没有说的很明白,后来参考了这个,才算搞明白!题目给定了数组的一个排列,求下一个排列是什么?基本的思路是从最后面开始找第一个开始递减的数,记录较小的数的位置p;如果p存在,从p开始,依次向后找到第一个比p位置的数小的数,记录这个数的前一个位置为q,交换p,q位置上的数,并将p位置后的所有数逆置如果...原创 2019-02-16 10:59:30 · 137 阅读 · 0 评论 -
回溯法求解SubSet,Permutation,Combination Sum
简要介绍:回溯法可以系统的搜索一个问题的所有解或任意解,在问题的解空间树中,按照深度优先搜索的策略,从根节点出发搜索解空间树。开始节点为活节点,同时也是当前的扩展节点。在当前的扩展节点处向纵深方向移动,此时这个节点为新的活节点。如果在当前的扩展节点处不能向纵深方向移动,那么此节点为死节点,此时,节点应往回移动,移动至最近的活节点处。以下的三个问题都是用回溯的方法来解决的,其算法的框架基本相同。...原创 2019-02-14 15:54:15 · 227 阅读 · 0 评论 -
119. Pascal's Triangle II
java版class Solution { public List<Integer> getRow(int N) { List<Integer> temp_l = new ArrayList<Integer>(); for(int i=0; i<=N; i++){ temp_l.add(0,...原创 2019-04-30 11:08:08 · 76 阅读 · 0 评论