LifelongCode
LifelongCode
全部文章
分类
知识点总结(3)
秋招面经(15)
题解(110)
归档
标签
去牛客网
登录
/
注册
LifelongCode的博客
TA的专栏
128篇文章
1人订阅
名企高频面试算法题解
78篇文章
5787人学习
高频面试算法题汇总
0篇文章
0人学习
剑指Offer题解
32篇文章
1279人学习
牛客网左神算法
0篇文章
0人学习
2022-Java-秋招记录
15篇文章
3284人学习
面试高频知识点汇总
2篇文章
1317人学习
Java编程大全
0篇文章
0人学习
计算机专业基础知识
1篇文章
1118人学习
云原生
0篇文章
0人学习
全部文章
(共128篇)
NC69:链表中倒数第k个结点
来自专栏
解法1:快慢指针① 设链表长度为n,定义两个指针a、b都指向头结点,当a指针指向最后一个结点时,a的下标是n-1② 倒数第k个结点的下标是n-k,两者相差k-1个距离。所以让a指针先遍历向前走k-1步,此时a与b也相差k-1了,符合。③ 然后让它们一起向前走即可。 public class Solu...
2021-01-19
0
1080
NC33:合并有序链表
来自专栏
方法1:递归 如果表1当前值小于表2当前值,表1当前值成为新链表的表头,否则返回表2的当前值作为新链表的表头。比较当前链表的值,较小的取其子链表继续递归。当有一个链表取到子链表为空时,说明已经比较完成,可以直接返回非空的链表,返回值赋给了l1.next或者l2.next,但无论如何,最终还是沿着递归...
2021-01-18
0
527
NC3:链表中环的入口节点
来自专栏
第一步,找环中相汇点。分别用p1,p2指向链表头部, p1每次走一步,p2每次走二步,直到p1==p2找到在环中的相汇点。 那么我们可以知道fast指针走过a+b+c+b slow指针走过a+b 那么2*(a+b) = a+b+c+b 所以a = c 那么此时让slow回到起点,fast依然...
2021-01-18
25
1827
NC95:数组中的最长连续子序列
来自专栏
方法1:排序方法2:Set方法3:哈希表方法4:并查集 解法1:排序+统计 排序数组 统计连续序列长度:遇到重复元素跳过;遇到不连续元素重置;遇到连续元素加一并更新max import java.util.*; public class Solution { /** * max incre...
2021-01-16
7
1294
NC151:最大公约数
来自专栏
链接:https://blog.csdn.net/c1052981766/article/details/79130139java 三种方法实现最大公约数 import java.util.Collections; import java.util.HashSet; import java.util...
2021-01-15
3
883
NC145:01背包
来自专栏
0-1 背包问题:给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wi,其价值为 vi 。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大? 面对每个物品,我们只有选择拿取或者不拿两种选择,不能选择装入某物品的一部分,也不能装入同一物品多次。 解决办法:声明一个大小为 ...
2021-01-15
18
2001
NC93:设计LRU缓存结构
来自专栏
LRU (Least recently used) 最近最少使用 像浏览器的缓存策略、memcached的缓存策略都是使用LRU这个算法,LRU算***将近期最不会访问的数据淘汰掉。LRU如此流行的原因是实现比较简单,而且对于实际问题也很实用,良好的运行时性能,命中率较高。下面谈谈如何实现LRU缓存...
2021-01-14
3
766
NC131:随时找到数据流的中位数
来自专栏
构造两个优先级队列:左边大根堆放较小的数,右边小根堆放较大的数。 构建两个堆,左边大根堆放较小的数,右边小根堆放较大的数。 插入第一个数时,先插到左边,然后将左边最大的值传给右边的堆; 插入第二个数时,先插到右边,然后将右边最小的值传给左边的堆;如此往复,平衡两个堆的大小,最后得到的结果是右边...
2021-01-14
1
775
NC138:矩阵最长递增路径
来自专栏
解法1:记忆化+深度优先 链接:https://leetcode-cn.com/problems/longest-increasing-path-in-a-matrix/solution/javashi-xian-shen-du-you-xian-chao-ji-jian-dan-yi-/著作权归作...
2021-01-12
0
742
NC135:股票(两次交易)
来自专栏
解法1:贪心 要计算买卖两次的收益,只需要找到一天k,使得f(0, k) + f(k + 1, n - 1)最大即可;运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。case通过率为0.00% public int maxProfit (int[] price...
2021-01-12
4
1235
首页
上一页
4
5
6
7
8
9
10
11
12
13
下一页
末页