Leetcode刷题
文章平均质量分 57
记录自己刷Letcode的题解
murongjunxiaoxiao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[笔试题记录]T01 最优高铁修建方案
最小生成树+Kruskal算法实现原创 2022-08-03 20:52:54 · 754 阅读 · 0 评论 -
【笔试题记录】7月25日笔试题
0725笔试编程题题解记录原创 2022-07-25 22:41:55 · 557 阅读 · 0 评论 -
【LeetCode刷题记录】 滑动窗口解决字符串的问题
LeetCode 76、LeetCode 438和Leet 567 通用解题思路原创 2022-06-14 10:42:03 · 1428 阅读 · 0 评论 -
礼物的最大价值题目改动版本(记录思路)
剑指 Offer 47. 礼物的最大价值 题目改动版本题意: 应该是在在一个 m*n 的棋盘的每一格都有一个值,表示能量(能量值大于 0)。你可以从棋盘的左上角开始走,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的能量的价值,请计算你第一次走最多能拿到多少价值的礼物?然后把你拿过的能量的棋盘的位置上的能量值置为0,然后计算第二次走最多能拿到多少价值的礼物?解题思路:这个题目难点的地方在于需要对拿到最大能量的走过的路径需要进行记录处理然后更新能量矩阵,对下面的能量矩阵:[[原创 2022-05-09 11:34:46 · 165 阅读 · 0 评论 -
【LeetCode刷题记录】剑指 Offer 31. 栈的压入、弹出序列
剑指 Offer 31. 栈的压入、弹出序列题意:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例一:输入: pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出: true解释: 我们可以按以下顺序执行:push原创 2022-03-25 11:12:16 · 181 阅读 · 0 评论 -
【LeetCode刷题记录】109.有序链表转换二叉搜索树
109.有序链表转换二叉搜索树题意:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5解题思路:其实解题思路比较原创 2022-03-24 11:35:41 · 161 阅读 · 0 评论 -
二叉树前序、中序、后序遍历的非递归实现
二叉树的前序、中序、后序遍历的非递归实现二叉树的前序遍历非递归实现不进行递归的前序遍历的实现,需要借用辅助栈空间,首先把根节点押入栈,然后当栈不空的时候,取栈顶,打印,然后按照右子树节点先入栈,然后左子树节点入栈的顺序,直到栈为空,完成二叉树的先序遍历序列的打印java实现 public List<Integer> preorderTraversal(TreeNode root) { Stack<TreeNode> stack = new Stack<T原创 2022-03-23 17:05:54 · 1753 阅读 · 0 评论 -
根据二叉树的先序、中序、后序遍历确定二叉树
根据二叉树的先序,中序,后序遍历确定二叉树我们知道根据二叉树的先序和中序或者是二叉树的中序和后序能够确定唯一的一棵二叉树,先记录一下java实现代码二叉树的先序和中序遍历确定二叉树我们能够知道先序的第一个节点是根节点,此时根据根节点去找在中序遍历中的位置,左边就是左子树的节点,右边就是右子树的节点,那么我们可以把先序和中序序列中的左右子树节点的序列范围找到,然后递归继求解遍历,最后完成二叉树的构建,例如:先序:{1,5,3,2,7}中序:{3,5,2,1,7}此时能进行划分有:根节点{1}左原创 2022-03-22 11:54:52 · 3619 阅读 · 0 评论 -
【LeetCode刷题记录】剑指 Offer 36. 二叉搜索树与双向链表
剑指 Offer 36. 二叉搜索树与双向链表题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。特别地,我们希望可以就地完原创 2022-03-21 11:43:42 · 134 阅读 · 0 评论 -
【LeetCode刷题记录】3月20日记录
3月20日记录剑指 Offer 68 - I. 二叉搜索树的最近公共祖先题目:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]、...原创 2022-03-20 17:27:38 · 139 阅读 · 0 评论 -
【LeetCode刷题记录】剑指 Offer 35. 复杂链表的复制
剑指 Offer 35. 复杂链表的复制题目:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例一:输入: head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]示例二:输入:head = [[1,1],[2,1]]输出:[[1,1原创 2022-03-18 22:22:48 · 170 阅读 · 0 评论 -
【LeetCode刷题记录】 剑指 Offer 56 - I. 数组中数字出现的次数
剑指 Offer 56 - I. 数组中数字出现的次数题意:一个整型数组* nums *里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例一输入: nums = [4,1,4,6]输出: [1,6] 或 [6,1]示例二输入: nums = [1,2,10,4,1,4,3,3]输出: [2,10] 或 [10,2]题目链接解题思路:假设要找的数字分别是a和b,因为除了这两个数字之外,其他的数字都出现了原创 2022-03-17 20:54:46 · 150 阅读 · 0 评论 -
【Leetcode刷题记录】347.前K个高频元素
347.前K高频元素题目:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]解题思路:利用桶排序的思想,对数字出现的频次进行桶排序,首先用HashMap记录每个数字出现的次数,并在此过程中记录最大的频次,之后创建最大频次数量的桶来进行排序,遍历HashMap,把对应频次的数字放到对应的桶里面,之后在从最大频次开始倒着计数记录结果直到统计了k原创 2022-03-15 20:49:25 · 684 阅读 · 0 评论 -
【Leetcode刷题记录】524. 通过删除字母匹配到字典里最长单词
524. 通过删除字母匹配到字典里最长单词题目给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。示例1:输入:s = “abpcplea”, dictionary = [“ale”,“apple”,“monkey”,“plea”]输出:“apple”解题想法解题思路其实比较清晰,就是首先对给的待匹配字原创 2022-03-14 16:09:31 · 562 阅读 · 0 评论 -
【Leetcode刷题记录】665.非递减数列
665.非递减数列解题想法:刚开始想着简单的就是直接判断存在相邻递减的情况,即判断存在nums[i]>nums[i-1]的情况,但是存在不满足的用例:后来想遍历的时候如果存在递减的情况,就用nums[i-1]更新nums[i],即下图用例的情况:然后发现还是有不满足的情况,即下例:于是就选择用两次遍历,分别判断,当从左往右遍历的时候,选择用左侧的更大的值更新右侧继续判断,如果满足,返回,否则从右往左遍历,选择用右侧更小的值更新继续判断,此时注意最后返回判断一定是存在一次修改public原创 2022-03-13 16:06:11 · 1019 阅读 · 0 评论 -
LeetCode刷题入门
Letcode刷题入门篇开始准备刷Letcode的题目,入门基础题原创 2021-10-18 15:04:16 · 624 阅读 · 0 评论
分享