JZZZZZZZZZZZ
JZZZZZZZZZZZ
全部文章
分类
题解(10)
归档
标签
去牛客网
登录
/
注册
JZZZZZZZZZZZ的博客
全部文章
(共10篇)
题解 | #设计LRU缓存结构#
这道题本质还是要手写LinkedHashMap。 运用Map是因为get 和set都是O(1),运用双向链表是因为插入和删除都是O(1) 同时还需要维护两个指针,一个指向最近一次掉用的节点,一个指向最久未调用的节点 维护最近一次掉用节点,是为了在...
Javascript Node
2022-03-21
4
537
题解 | #dom 节点查找#
递归法找到最近的公共父节点 function commonParentNode(oNode1, oNode2) { return recur_find(oNode1.parentNode,oNode2.parentNode) function recur_find(parent1...
2021-07-18
4
565
[JS]股票交易最大收益
该题是典型的dp,首先常规思维来说,我们需要一个n x prices.length大小的array。dp[k][i]就代表在到i个价格为止进行了k次交易获得的收益。每次在计算当前dp[k][i]的时候有两种情况。 当前价格没有交易发生,从上一个cell取值,即dp[k][i-1] 发生交易,从j...
2020-12-26
4
838
[JS]矩阵查找
这道题本质还是二分查找,和普通的有所不同的是要进行两次。因为每列每行都是有序的,所以在定位行以后再定位列。 function searchMatrix( matrix , target ) { // write code here let up = 0,down = matrix....
2020-12-25
0
808
[JS]合并区间
先以start进行排序,然后挨个比较。时间复杂度O(n),不需要额外空间。 function merge( intervals ) { // write code here if(intervals.length<2) return intervals interva...
2020-12-22
0
712
[JS]链表倒数第k个节点
常规解法,快指针向前遍历k个 function FindKthToTail(head, k) { // write code here let fast = head let i=0 for(;i<k&&fast;i++){ ...
2020-12-22
0
502
[JS]删除有序链表重复元素
遍历链表的时候保留两个指针,prev表示前一个节点,cur表示当前节点。prev的主要作用是在发现cur节点和后面有重复的时候断掉对cur的连接在去重的时候我先保留了第一个重复的节点,直到删干净后面的重复节点以后再删除第一个重复节点 function deleteDuplicates( head )...
2020-12-20
2
1028
[JS]字符串的排列
先用递归方法列出所有组合的可能。递归逻辑: 在当前str长度为n的情况下,提取出str[0]作为我们这一轮要插入的数。 此时我们只要知道剩下n-1的排列组合,每一种组合从[0,length]依次插入str[0]得到新的排列组合。 function calculate(arr){ if(arr....
2020-12-20
1
709
[JS]二叉树中是否存在节点和为指定值的路径
DFS算法遍历要考虑的边界情况主要是当前节点是否为叶子节点,必须要确保左右自节点均为null。否则会出现{1,2}1结果为true的情况。 function hasPathSum( root , sum ) { // write code here if(!root) return...
2020-12-19
0
893
判断二叉树是否对称[JS]
迭代解法逐层遍历二叉树,得到当前层的节点后头尾互查做比较。做法比较直接 function isSymmetric( root ) { // write code here if(root==null) return true let cur_lvl = [root] ...
2020-12-19
0
654