
力扣Hot 100
小小布丁--pudding
一只爬行的小乌龟~~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[力扣Hot 100------第11题--226.翻转二叉树]
So easy的事情~~~ var invertTree = function(root) { if(root===null) return null; var temp=root.left; root.left=root.right; root.right=temp; invertTree(root.left); invertTree(root...原创 2020-02-28 21:59:46 · 346 阅读 · 0 评论 -
[力扣Hot 100------第10题--221.最大正方形]
这一题乍一看以为是回溯,但其实是二维dp. var maximalSquare = function(matrix) { const m=matrix.length; if(m===0) return 0; const n=matrix[0].length; if(n===0) return 0; var dp=new Array(m+1); ...原创 2020-02-28 21:55:41 · 682 阅读 · 0 评论 -
[力扣Hot 100------第9题--215.数组中的第K个最大元素]
利用到快速排序的partition算法,partition算法十分重要,一定要搞熟练~~ var findKthLargest = function(nums, k) { var left=0,right=nums.length-1; const target=nums.length-k; while(left<=right){ var index=...原创 2020-02-28 20:10:20 · 293 阅读 · 0 评论 -
[力扣Hot 100------第8题--207.课程表]
这题算是DFS/BFS这块最难下手的一题了,需要多刷几遍~~ 1.BFS var canFinish = function(numCourses, prerequisites) { var num=numCourses; var arr=new Array(num).fill(0); for(let item of prerequisites) arr[item[0]...原创 2020-02-28 10:01:43 · 437 阅读 · 0 评论 -
[力扣Hot 100------第7题--206.反转链表]
So easy的事情,记住连带表达式就好。 var reverseList = function(head) { var pre=null,next=null; while(head!==null){ next=head.next; head.next=pre; pre=head; head=next;...原创 2020-02-27 20:46:42 · 309 阅读 · 0 评论 -
[力扣Hot 100------第6题--200.岛屿数量]
记住DFS的两个要点:递归+安全带; 而BFS没有这些,而是借助一个stack数组。 1.DFS var numIslands = function(grid) { var m=grid.length; if(m===0) return 0; var n=grid[0].length; var count=0; for(var i=0;i<...原创 2020-02-27 20:39:30 · 268 阅读 · 0 评论 -
[力扣Hot 100------第5题--198.打家劫舍]
属于难度略高一丢丢的dp,还行,重点是dp方程嘛~~ dp[i]=Math.max(dp[i-2]+nums[i],dp[i-1]); var rob = function(nums) { if(nums.length===0) return 0; if(nums.length===1) return nums[0]; if(nums.length===2) retu...原创 2020-02-26 18:41:35 · 176 阅读 · 0 评论 -
[力扣Hot 100------第4题--160.相交链表]
方法肯定知道,就是这里有个细节:必须写成p1=p1===null?headB:p1.next; 而不是p1=p1.next===null?headB:p1.next;主要就是要考虑到压根两个链表没有交点的情况,这个时候就要及时解脱了。后种写法就会陷入无尽的死循环。 var getIntersectionNode = function(headA, headB) { var p1=hea...原创 2020-02-26 17:46:55 · 239 阅读 · 0 评论 -
[力扣Hot 100------第3题--152.乘积最大子序列]
这道题跟 连续子数组的最大和 类似,唯一的区别在于这题是乘积,负数的影响在于会把当前最大变成当前最小,会把当前最小变成当前最大。因此需要另一个当前最小的变量,一旦nums[i]<0,那么就把当前最大和当前最小对调。 var maxProduct = function(nums) { if(nums.length===1) return nums[0]; var gl...原创 2020-02-26 17:33:05 · 225 阅读 · 0 评论 -
[力扣Hot 100------第2题--148.排序链表]
归并排序(递归法) 题目要求时间空间复杂度分别为O(nlogn)O(nlogn)和O(1)O(1),根据时间复杂度我们自然想到二分法,从而联想到归并排序; 对数组做归并排序的空间复杂度为 O(n)O(n),分别由新开辟数组O(n)O(n)和递归函数调用O(logn)O(logn)组成,而根据链表特性: 数组额外空间:链表可以通过修改引用来更改节点顺序,无需像数组一样开辟额外空间; 递归额外空间...原创 2020-02-26 15:56:00 · 233 阅读 · 0 评论 -
[力扣Hot 100------第1题--142.环形链表II]
注意考虑下特殊情况,即什么时候返回null(链表长度为0或1或压根无环) var detectCycle = function(head) { if(head===null||head.next===null) return null; let fast=head,slow=head; do{ if(fast.next===null||fast.next....原创 2020-02-26 09:35:12 · 272 阅读 · 0 评论