自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 收藏
  • 关注

原创 剑指offer Java题解之JZ59 滑动窗口的最大值

题目:给定一个长度为 n 的数组 num 和滑动窗口的大小 size ,找出所有滑动窗口里数值的最大值。示例:输入:[2,3,4,2,6,2,5,1],3返回值:[4,4,6,6,6,5]思路:这道题之前写过,复杂度:时间复杂度:遍历O(n)空间复杂度:栈O(n)代码:...

2022-01-31 22:52:31 733

原创 剑指offer Java题解之JZ73 翻转单词序列

题目:例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a nowcoder.”。示例:输入:"nowcoder. a am I"返回值:"I am a nowcoder."思路:思路是很清晰的,先碰到的单词放到末尾,以空格为界限重要的是怎么实现,借助栈,先碰到的单词先入栈,再依次出栈具体实现见代码但其实不用栈也可以,就是使用栈的思想,用倒序遍历去实现就可以了

2022-01-31 17:49:32 532

原创 剑指offer Java题解之JZ31 栈的压入、弹出序列

题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。示例:输入:[1,2,3,4,5],[4,5,3,2,1]返回值:true说明:可以通过push(1)=>push(2)=>push(3)=>push(4)=>p.

2022-01-31 13:37:54 529

原创 剑指offer Java题解之JZ30 包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。此栈包含的方法有:push(value):将value压入栈中pop():弹出栈顶元素top():获取栈顶元素min():获取栈中最小元素示例:输入:["PSH-1","PSH2","MIN","TOP","POP","PSH1","TOP","MIN"]输出:-1,2,1,-1...

2022-01-31 12:44:24 700

原创 剑指offer Java题解之JZ37 序列化二叉树

题目:用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。示例:输入:["PSH1","PSH2","POP","POP"]返回值:1,2说明:"PSH1":代表将1插入队列尾部"PSH2":代表将2插入队列尾部"POP“:代表删除一个元素,先进先出=>返回1"POP“:代表删除一个元素,先进先出=&gt.

2022-01-31 09:58:54 654

原创 剑指offer Java题解之JZ86 在二叉树中找到两个节点的最近公共祖先

题目:给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值 o1和o2,请找到 o1和o2的最近公共祖先节点。数据范围:1 \le n \le 10001≤n≤1000,树上每个节点的val满足0<val \le 1000<val≤100要求:时间复杂度O(n)O(n)注:本题保证二叉树中每个节点的val值均不相同。如当输入[3,5,1,6,2,0,8,#,#,7,4],5,1时,二叉树{3,5,1,6,2,0,8,#,#,7,4}如下图...

2022-01-30 14:58:39 427

原创 剑指offer Java题解之JZ34 二叉树中和为某一值的路径(二)

题目:给定一个二叉树root和一个整数值 sum ,求该树有多少路径的的节点值之和等于 sum 。1.该题路径定义不需要从根节点开始,也不需要在叶子节点结束,但是一定是从父亲节点往下到孩子节点2.总节点数目为n3.保证最后返回的路径个数在整形范围内(即路径个数小于231-1)示例:二叉树root为{1,2,3,4,5,4,3,#,#,-1},sum=6,那么总共如下所示,有3条路径符合要求思路:比第一题的路径和少点条件,很好写。复杂度:时

2022-01-30 13:41:39 170

原创 剑指offer Java题解之JZ37 序列化二叉树

题目:请实现两个函数,分别用来序列化和反序列化二叉树,不对序列化之后的字符串进行约束,但要求能够根据序列化之后的字符串重新构造出一棵与原二叉树相同的树。二叉树的序列化(Serialize)是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树等遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#)二叉树的反序列化(Deserialize)是指:根据某种遍历顺序得到的.

2022-01-30 13:19:39 595

原创 剑指offer Java题解之JZ78 把二叉树打印成多行

题目:给定一个节点数为 n 二叉树,要求从上到下按层打印二叉树的 val 值,同一层结点从左至右输出,每一层输出一行,将输出的结果存放到一个二维数组中返回。例如:给定的二叉树是{1,2,3,#,#,4,5}该二叉树多行打印层序遍历的结果是[[1],[2,3],[4,5]]示例:输入:{1,2,3,#,#,4,5}返回值:[[1],[2,3],[4,5]]思路:简单的层序,没啥可说的复杂度:时间复杂度:遍历O(n).

2022-01-30 11:04:16 88

原创 剑指offer Java题解之JZ28 对称的二叉树

题目:给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)例如: 下面这棵二叉树是对称的下面这棵二叉树不对称。数据范围:节点数满足 0 \le n \le 10000≤n≤1000,节点上的值满足 |val| \le 1000∣val∣≤1000要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)示例:输入:{1,2,2,3,4,4,3}返回值:true思路:...

2022-01-30 10:41:48 206

原创 剑指offer Java题解之JZ8 二叉树的下一个结点

题目:给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示,从子节点指向父节点的用虚线表示示例:输入:{8,6,10,5,7,9,11},8返回:9思路:next是指向父结点的那我们这题最关键的就是分类讨论1.空树2.结点有右孩子,找到右孩子的最左子结点3.结点没有右子树...

2022-01-30 10:27:50 201

原创 剑指offer Java题解之JZ34 二叉树中和为某一值的路径(二)

题目:输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值的和为expectNumber的所有路径。1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点2.叶子节点是指没有子节点的节点3.路径只能从父节点到子节点,不能从子节点到父节点4.总节点数目为n如二叉树root为{10,5,12,4,7},expectNumber为22则合法路径有[[10,5,7],[10,12]]数据范围:树中节点总数在范围[0, 50..

2022-01-29 21:01:36 96

原创 剑指offer Java题解之JZ82 二叉树中和为某一值的路径(一)

题目:给定一个二叉树root和一个值 sum ,判断是否有从根节点到叶子节点的节点值之和等于 sum 的路径。1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点2.叶子节点是指没有子节点的节点3.路径只能从父节点到子节点,不能从子节点到父节点4.总节点数目为n例如:给出如下的二叉树,sum=22,数据范围:1.树上的节点数满足0 \le n \le 100000≤n≤100002.每 个节点的值都满足|val| \le 1000∣va...

2022-01-29 18:19:21 95

原创 剑指offer Java题解之JZ33 二叉搜索树的后序遍历序列

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回 true ,否则返回 false 。假设输入的数组的任意两个数字都互不相同。数据范围: 节点数量0 \le n \le 10000≤n≤1000,节点上的值满足1 \le val \le 10^{5}1≤val≤105,保证节点上的值各不相同要求:空间复杂度O(n)O(n),时间时间复杂度O(n^2)O(n2)提示:1.二叉搜索树是指父亲节点大于左子树中的全部节点,但是小于右子树中的全部节...

2022-01-28 12:39:11 516

原创 剑指offer Java题解之JZ32 从上往下打印二叉树

题目:不分行从上往下打印出二叉树的每个节点,同层节点从左至右打印。例如输入{8,6,10,#,#,2,1},如以下图中的示例二叉树,则依次打印8,6,10,2,1(空节点不打印,跳过),请你将打印的结果存放到一个数组里面,返回。示例:输入:{8,6,10,#,#,2,1}返回值:[8,6,10,2,1]思路:简单题层序遍历挨个添加就行了复杂度:时间复杂度:遍历O(n)空间复杂度:Arraylist O(n)代码: .

2022-01-28 12:05:56 388

原创 剑指offer Java题解之JZ27 二叉树的镜像

题目:操作给定的二叉树,将其变换为源二叉树的镜像。数据范围:二叉树的节点数 0 \le n \le 10000≤n≤1000 , 二叉树每个节点的值 0\le val \le 10000≤val≤1000要求: 空间复杂度 O(n)O(n) 。本题也有原地操作,即空间复杂度 O(1)O(1) 的解法,时间复杂度 O(n)O(n)比如:源二叉树镜像二叉树示例:输入:{8,6,10,5,7,9,11}返回值:{8,10,6,11,9,7,5}思

2022-01-28 11:47:25 245

原创 剑指offer Java题解之JZ26 树的子结构

题目:输入两棵二叉树A,B,判断B是不是A的子结构。(我们约定空树不是任意一个树的子结构)假如给定A为{8,8,7,9,2,#,#,#,#,4,7},B为{8,9,2},2个树的结构如下,可以看出B是A的子结构示例:输入:{8,8,7,9,2,#,#,#,#,4,7},{8,9,2}返回值:true思路:很显然这是一个遍历可能性的问题,因此最容易想到的还是暴力回溯关键点在于怎么实现复杂度:时间复杂度:遍历O(n)空间复杂度:递归最差.

2022-01-28 11:28:31 321

原创 剑指offer Java题解之剑指 Offer 07. 重建二叉树(击败了99.77%的用户)

题目:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]思路:前序遍历:根 左 右中序遍历:左 根 右后序遍历:左 右 根根据遍历根的顺序去确定哪种排序,现在我们有中序和前序的结果。pre

2022-01-28 10:47:58 446

原创 LeetCode 热题 HOT 100Java题解之739. 每日温度(击败了82.37%的用户)

题目:请根据每日气温列表temperatures,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用0来代替。示例:输入: temperatures= [73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1,0,0]思路:可能是真题刷的够了,看到就觉得该用栈,虽然没有想清楚具体实现,但是栈肯定要用。要维护一个栈底到栈顶温度递减的单调栈要注意往栈里面放的是坐标复杂度...

2022-01-23 16:06:01 2519

原创 LeetCode 热题 HOT 100Java题解之647. 回文子串(击败了87.68%的用户)

题目:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例:输入:s = "abc"输出:3解释:三个回文子串: "a", "b", "c"思路://中心扩散法,把每个点都当成中心往两边扩散但是要注意两个字符作为中心的情况 比如abba

2022-01-23 15:24:44 3066

原创 LeetCode 热题 HOT 100Java题解之581. 最短无序连续子数组(击败了99.95%的用户)

题目:给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的 最短子数组,并输出它的长度。示例:输入:nums = [2,6,4,8,10,9,15]输出:5解释:你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。思路:思路很简单,从前往后到不是递增的数得到坐标从后往前到以一个不是递减的数得到坐标再相减复杂度:时间

2022-01-23 14:53:43 3722

原创 LeetCode 热题 HOT 100Java题解之560. 和为 K 的子数组(击败了77.92%的用户)

题目:给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k 的连续子数组的个数。示例:输入:nums = [1,1,1], k = 2输出:2思路:刚想到就是滑动数组,这题跟之前有一题滑动数组的挺像的主要是有连续子数组这个条件因为nums[i]可以小于0,也就是说右指针i向后移1位不能保证区间会增大,左指针j向后移1位也不能保证区间和会减小。给定j,i的位置没有二段性,处理不了负值使用前缀和是正解复杂度.

2022-01-23 14:29:39 3917

原创 LeetCode 热题 HOT 100Java题解之543. 二叉树的直径(击败了100%的用户)

题目:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例: 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。思路:直径就是可以说是最长路径吧,不一定要经过根结点利用递归去做,老生常谈了复杂...

2022-01-23 11:24:48 2857

原创 LeetCode 热题 HOT 100Java题解之538. 把二叉搜索树转换为累加树(击败了100%的用户)

题目:给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。左右子树也必须是二叉搜索树。示例:输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输出:

2022-01-23 10:28:04 72

原创 LeetCode 热题 HOT 100Java题解之494. 目标和(击败了9.25%的用户)

题目:给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加'+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" 。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。示例:输入:nums = [1,1,1,1,1], target = 3输出:5解释:一共有 5 种方..

2022-01-22 17:49:29 70

原创 LeetCode 热题 HOT 100Java题解之461. 汉明距离(击败了100%的用户)

题目:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。思路:先异或运算符得到所有不同的位数,也就是num = x^y,再计算二进制符中1的数量就可以了之前写的的 x = x&x-1;...

2022-01-22 16:22:31 89

原创 LeetCode 热题 HOT 100Java题解之448. 找到所有数组中消失的数字(击败了28.09%的用户)

题目:给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。示例:输入:nums = [4,3,2,7,8,2,3,1]输出:[5,6]思路:思路是两遍遍历,第一遍排序,将值放到对应的位置若有重复就跳过。再遍历一次某个值不对就加入。思路很简单但是效率不太行。复杂度:时间复杂度:遍历两遍O(n).

2022-01-22 16:04:31 188

原创 LeetCode 热题 HOT 100Java题解之438. 找到字符串中所有字母异位词(击败了65.65%的用户)

题目:给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。示例:输入: s = "cbaebabacd", p = "abc"输出: [0,6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。思路:思路很简单,肯定是滑动窗

2022-01-22 15:32:02 258

原创 LeetCode 热题 HOT 100Java题解之234. 回文链表(击败了99.92%的用户)

题目:给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。示例:输入:head = [1,2,2,1]输出:true思路:快慢指针,快走两步,慢走一步。走的时候就反转前面的链表快指针到终点慢在中间 ,然后slow继续往后走,和之前反转的链表对比,就可以了。还是那句话,要熟悉数据结构复杂度:时间复杂度:遍历O(n)空间复杂度:O(1)...

2022-01-13 11:47:22 169

原创 LeetCode 热题 HOT 100Java题解之215. 数组中的第K个最大元素(击败了82.8%的用户)

题目:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例:输入: [3,2,1,5,6,4] 和 k = 2输出: 5思路:先排序,然后返回倒数的数就行了,是我哪里没理解吗,很简单啊直接ac了,没搞懂,是不能调用API的sort方法嘛 复杂度:时间复杂度:遍历O(n)空间复杂度:O(1)...

2022-01-13 10:37:30 104

原创 LeetCode 热题 HOT 100Java题解之208. 实现 Trie (前缀树)(击败了82.38%的用户)

题目:Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false 。boolean sta

2022-01-13 10:12:16 79

原创 LeetCode 热题 HOT 100Java题解之207. 课程表(击败了96.09%的用户)

题目:你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程对[0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回 false 。..

2022-01-12 11:14:48 114

原创 LeetCode 热题 HOT 100Java题解之206. 反转链表(击败了100%的用户)

题目:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]思路:链表倒转,简单题,但是一定要搞明白链表这个数据结构我们新建一个空链表res,然后让结果指向它 最后返回还需要一个辅助链表cur复杂度:时间复杂度:遍历O(n)空间复杂度:O(1)代码:public ListNode reverseList(Lis..

2022-01-11 11:20:04 274

原创 LeetCode 热题 HOT 100Java题解之200. 岛屿数量(击败了81.54%的用户)

题目:给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出:1思路...

2022-01-11 10:44:54 173

原创 LeetCode 热题 HOT 100Java题解之198. 打家劫舍(击败了100%的用户)

题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。...

2022-01-11 10:13:21 58

原创 LeetCode 热题 HOT 100Java题解之160. 相交链表(击败了99.98%的用户)

题目:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。示例:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at '8'解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8

2022-01-11 09:39:14 256

原创 LeetCode 热题 HOT 100Java题解之155. 最小栈(击败了99.17%的用户)

题目:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop()—— 删除栈顶的元素。top()—— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[null,nul..

2022-01-10 10:54:35 182

原创 LeetCode 热题 HOT 100Java题解之152. 乘积最大子数组(击败了78.95%的用户)

题目:给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。思路:动态规划。这题的问题在于dp数组的确定和递推公式怎么写的问题因为会有正负值因此我们建立两个dp【】数组来存最大和最小值最大dp[ i ] = max(nums[ i ],max( dp[i-1]*nums[ i ]),最小dp[i-1

2022-01-10 10:20:42 136

原创 LeetCode 热题 HOT 100Java题解之148. 排序链表(击败了98.94%的用户)

题目:给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。示例:输入:head = [4,2,1,3]输出:[1,2,3,4]思路:我的想法很简单,先将链表转成数组排序完再转成链表复杂度:时间复杂度:遍历O(n)空间复杂度:O(1)代码:...

2022-01-10 09:40:54 236

原创 LeetCode 热题 HOT 100Java题解之146. LRU 缓存(击败了97.94%的用户)

题目:请你设计并实现一个满足LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类:LRUCache(int capacity) 以 正整数 作为容量capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value)如果关键字key 已经存在,则变更其数据值value ;如果不存在,则向缓存中插入该组key-value 。如果插入...

2022-01-09 11:18:14 304

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除