![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一题
文章平均质量分 58
别抢我的辣条~
但将行好事,莫要问前程。
展开
-
DP解最长公共子序列ヽ(✿゚▽゚)ノ
一道经典的动态规划题,比较适合动态规划入门选手,原创 2022-05-10 15:19:55 · 182 阅读 · 0 评论 -
动态规划解Leetcode最长递增子序列问题,通俗易懂
简单的写一下Leetcode第300题的解答作为个人的小结,个人认为还是非常的通俗易懂的。原创 2022-05-09 17:25:02 · 382 阅读 · 0 评论 -
两个超大数相加
解大数相加,思路简单,写法多样原创 2022-04-04 11:45:23 · 433 阅读 · 0 评论 -
Manacher(马拉车)算法
由解最长回文子序列 了解Manacher(马拉车)算法原创 2022-04-03 11:50:55 · 1204 阅读 · 0 评论 -
恢复二叉搜索树问题
问题描述:来源:LeetCode第99题难度:中等给你二叉搜索树的根节点root,该树中的两个节点的值被错误地交换。请在不改变其 结构的情况下,恢复这棵树。提示:树上节点的数目在范围[2, 1000]内 -231<= Node.val <= 231- 1递归解法:解这道题我们首先要知道,什么叫二叉搜索树,二叉搜索树指:若它的左子树不空,则左子树上所有结点的值均小于 它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的 值;它的...原创 2022-03-06 03:30:00 · 213 阅读 · 0 评论 -
双指针,递归解两数相加
问题描述:来源:LeetCode第2题难度:中等给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储 的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示 和的链表。 你可以假设除了数字0之外,这两个数都不会以0开头。双指针解决:两个链表分别代表两个数字,链表的头节点表示的是个位数,如果从链表的头节点开始 相加,符合我们常见的加法运算。我们需要两个指针,分别指向两个数每一个节点,且对应的位数相同。两个指针的数相加后后移。然后我们还原创 2022-03-03 20:27:13 · 726 阅读 · 0 评论 -
BFS和DFS解二叉树的层序遍历 II
BFS解法:一层一层的遍历:这道题我们仍然可以从上往下遍历,只不过遍历每一层的时候我们都把结果插入到列表的最前面,这样就达到了从下往上遍历的效果。代码:class Solution {public: vector<vector<int>> levelOrderBottom(TreeNode* root) { vector<vector<int>> ve; //边界条件 ...原创 2022-03-01 22:27:11 · 315 阅读 · 0 评论 -
解单词拆分问题
问题描述:题目:Leetcode第139题难度:中等给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。示例 2:输入: s原创 2022-02-27 21:26:05 · 7676 阅读 · 0 评论 -
BFS解Leetcode题:奇偶树
问题描述:题目:Leetcode第1609题难度:中等如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 :二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推。偶数下标 层上的所有节点的值都是 奇 整数,从左到右按顺序 严格递增奇数下标 层上的所有节点的值都是 偶 整数,从左到右按顺序 严格递减给你二叉树的根节点,如果二叉树为 奇偶树 ,则返回 true ,否则返回 false 。示例 1:输入:root = [1,.原创 2022-02-23 21:48:42 · 122 阅读 · 0 评论 -
树:BFS,DFS解Leetcode电话号码的字母组合问题
问题描述:题目:Leetcode 第17题难度:中等给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"..原创 2022-02-22 23:27:00 · 416 阅读 · 0 评论 -
每日一题:贪心算法解分发糖果问题
一,问题描述:题目:Leetcode 第135题难度:困难n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。示例1:输入:ratings = [1,0,2]输出:5解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。示例2:输入:rat原创 2022-02-21 16:49:50 · 2235 阅读 · 0 评论 -
每日一题:贪心算法解按要求补齐数组
一,问题描述给定一个已排序的正整数数组nums,和一个正整数n。从[1, n]区间内选取任意个数字 补 充 到 nums 中 , 使 得 [1,n] 区 间 内 的 任 何 数 字 都 可 以 用 nums 中 某 几 个 数 字 的 和 来 表 示。请输出满足上述要求的最少需要补充的数字个数。实例1:输入: n u m s=[ 1 , 3 ] , n=6输出: 1解释: 根据n u m s里现有的组合[ 1 ] , [ 3 ] , [ 1 , 3 ],可以得出1 , 3 , 4。原创 2022-02-20 19:03:18 · 597 阅读 · 0 评论 -
每日一题:贪心算法解救生艇问题
问题描述:来源:LeetCode第881题难度:中等给定数组people。people[i]表示第 i个人的体重,船的数量不限,每艘船可以承载的最大重量为limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为limit。返回 承载所有人所需的最小船数。示例1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例2:输入:people = [3,2,2,1], limit = 3输出:3...原创 2022-02-19 16:09:43 · 903 阅读 · 0 评论 -
每日一题:贪心算法解优势洗牌-田忌赛马问题
问题描述:来源:Leetcode第870题难度:中等给定两个大小相等的数组A和B,A相对于B的优势可以用满足A[i]>B[i]的索引i的数目 来描述。返回A的任意排列,使其相对于B的优势最大化。实例1:输入:A = [2,7,11,15], B = [1,10,4,11]输出:[2,11,7,15]实例2:输入:A = [12,24,8,32], B = [13,25,32,11]输出:[24,32,8,12]提示:1 <= A.length原创 2022-02-18 18:37:14 · 711 阅读 · 0 评论 -
每日一题:动态规划解不同的子序列
问题描述:给定一个字符串s 和一个字符串 t,计算在s的子序列中 t 出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置 所组成的新字符串。(例如,"ACE"是"ABCDE"的一个子序列,而"AEC"不是)。题目数据保证答案符合32位带符号整数范围。0<=s . length, t. length<=1000, s和t由英文字母组成。动态规划解决:题目中说“计算在s的子序列中 t 出现的个数。”,翻译就是“在所有s ..原创 2022-02-17 17:25:55 · 466 阅读 · 0 评论