![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题记
文章平均质量分 68
__Witheart__
Witheart... Follow your heart...
展开
-
[LeetCode][LCR131]砍竹子 I——推测规律
现需要将一根长为正整数 bamboo_len 的竹子砍为若干段,每段长度均为正整数。请返回每段竹子长度的最大乘积是多少。输入:输出:81。原创 2024-04-08 19:50:38 · 405 阅读 · 0 评论 -
[LeetCode][LCR164]破解闯关密码——重定义排序规则+贪心
/ 自定义排序规则,这里以升序排序为例// 示例容器// 使用比较函数进行排序// 输出已排序的结果return 0;捕获列表(capture list)指定了 lambda 表达式中可以访问的外部变量的方式。捕获列表位于 lambda 表达式的起始位置,用方括号包围。[]:不捕获任何外部变量。lambda 表达式只能使用其参数和在其作用域内可见的变量。[x, &y]:按值和按引用捕获变量。通过在方括号中指定变量名,可以选择按值或按引用进行捕获。在方括号中使用逗号分隔不同的捕获方式。原创 2024-04-08 18:15:28 · 830 阅读 · 0 评论 -
[LeetCode][LCR186]文物朝代判断——贪心
展览馆展出来自 13 个朝代的文物,每排展柜展出 5 个文物。某排文物的摆放情况记录于数组 places,其中 places[i] 表示处于第 i 位文物的所属朝代编号。其中,编号为 0 的朝代表示未知朝代。请判断并返回这排文物的所属朝代编号是否连续(如遇未知朝代可算作连续情况)。TrueTrue。原创 2024-04-07 23:55:59 · 424 阅读 · 0 评论 -
[LeetCode][LCR178]训练计划 VI——使用位运算寻找数组中不同的数字
教学过程中,教练示范一次,学员跟做三次。该过程被混乱剪辑后,记录于数组actions,其中actions[i]表示做出该动作的人员编号。请返回教练的编号。71。原创 2024-04-07 20:58:02 · 891 阅读 · 0 评论 -
[LeetCode][LCR177]撞色搭配——异或消去出现偶数次的相同数字
整数数组sockets记录了一个袜子礼盒的颜色分布情况,其中sockets[i]表示该袜子的颜色编号。礼盒中除了一款撞色搭配的袜子,每种颜色的袜子均有两只。请设计一个程序,在时间复杂度 O(n),空间复杂度O(1) 内找到这双撞色搭配袜子的两个颜色编号。示例 1:[2,5]或[5,2]示例 2:[2,12]或[12,2]原创 2024-04-06 17:34:45 · 449 阅读 · 0 评论 -
[LeetCode][LCR190]加密运算——全加器的实现
计算机安全专家正在开发一款高度安全的加密通信软件,需要在进行数据传输时对数据进行加密和解密操作。请不使用四则运算符的情况下实现一个函数计算两次通信的数据量之和(三种情况均需被统计),以确保在数据传输过程中的高安全性和保密性。原创 2024-04-05 16:38:06 · 355 阅读 · 0 评论 -
[LeetCode][LCR133]位 1 的个数——快速从右边消去1
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用 二进制补码 记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。n = 11(控制台输入3。原创 2024-04-05 16:10:07 · 488 阅读 · 0 评论 -
[LeetCode][LCR158]库存管理 II——摩尔投票法
仓库管理员以数组 stock 形式记录商品库存表。stock[i] 表示商品 id,可能存在重复。请返回库存表中数量大于 stock.length / 2 的商品 id。输入:输出:1限制:给定数组为非空数组,且存在结果数字。原创 2024-04-01 18:12:55 · 274 阅读 · 0 评论 -
[LeetCode][LCR 179]查找总价格为目标值的两个商品
购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况,返回任一结果即可。[3,15]或者[15,3][27,34]或者[34,27]原创 2024-03-29 22:39:26 · 325 阅读 · 0 评论 -
[LeetCode][233]数字 1 的个数
给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。原创 2024-03-29 19:02:56 · 367 阅读 · 0 评论 -
[LeetCode][400]第 N 位数字
给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。n = 33n = 110解释:第 11 位数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, … 里是 0 ,它是 10 的一部分。原创 2024-03-29 17:38:04 · 233 阅读 · 0 评论 -
[LeetCode][LCR187]破冰游戏——约瑟夫环
社团共有 num 位成员参与破冰游戏,编号为 0 ~ num-1。成员们按照编号顺序围绕圆桌而坐。社长抽取一个数字 target,从 0 号成员起开始计数,排在第 target 位的成员离开圆桌,且成员离开后从下一个成员开始计数。请返回游戏结束时最后一位成员的编号。10。原创 2024-03-28 23:56:27 · 583 阅读 · 0 评论 -
[LeetCode][LCR170]交易逆序对的总数
在股票交易中,如果前一天的股价高于后一天的股价,则可以认为存在一个「交易逆序对」。请设计一个程序,输入一段时间内的股票交易记录 record,返回其中存在的「交易逆序对」总数。8解释:交易中的逆序对为 (9, 7), (9, 5), (9, 4), (9, 6), (7, 5), (7, 4), (7, 6), (5, 4)。原创 2024-03-19 23:59:46 · 479 阅读 · 0 评论 -
[LeetBook]【学习日记】排序算法——归并排序
1. 归并排序是一种分治算法,其排序过程包括分和治2. 分是指将要排序的序列一分为二、二分为四,直到单个序列中只有一个数3. 治是指在分完后,将每两个元素重新组合,四合为二、二合为一,最终完成排序原创 2024-03-19 20:34:58 · 606 阅读 · 0 评论 -
[LeetCode][LCR121]寻找目标值 - 二维数组(一道解法惊为天人的题)
请判断 plants 中是否存在目标高度值 target。原创 2024-03-16 23:22:59 · 469 阅读 · 0 评论 -
[LeetCode][LCR173]点名——二分结合输入数据特点找边界
某班级 n 位同学的学号为 0 ~ n-1。点名结果记录于升序数组 records。假定仅有一位同学缺席,请返回他的学号。47。原创 2024-03-16 23:05:34 · 524 阅读 · 0 评论 -
[LeetCode][LCR172]统计目标成绩的出现次数——二分找边界
某班级考试成绩按非严格递增顺序记录于整数数组scores,请返回目标成绩target的出现次数。30。原创 2024-03-13 21:09:48 · 505 阅读 · 0 评论 -
[LeetCode][LCR169]招式拆解 II——巧妙利用字母的固定顺序实现查找复杂度为O(1)的哈希表
某套连招动作记作仅由小写字母组成的序列 arr,其中 arr[i] 第 i 个招式的名字。请返回第一个只出现一次的招式名称,如不存在请返回空格。a' '原创 2024-03-13 16:10:02 · 483 阅读 · 0 评论 -
[LeetCode][LCR156]序列化与反序列化二叉树
序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。原创 2024-03-13 14:47:08 · 719 阅读 · 0 评论 -
[LeetCode][LCR 194]二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。输入:输出:3解释: 节点 5 和节点 1 的最近公共祖先是节点 3。输入:输出:5解释: 节点 5 和节点 4 的最近公共祖先是节点 5。因为根据定义最近公共祖先节点可以为节点本身。原创 2024-03-13 13:53:07 · 369 阅读 · 0 评论 -
[LeetCode][LCR 193]二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。输入:输出:6解释: 节点 2 和节点 8 的最近公共祖先是 6。输入:输出:2解释: 节点 2 和节点 4 的最近公共祖先是 2, 因为根据定义最近公共祖先节点可以为节点本身。原创 2024-03-13 12:30:56 · 180 阅读 · 0 评论 -
[LeetCode][110]平衡二叉树
给定一个二叉树,判断它是否是平衡二叉树。原创 2024-03-13 12:21:39 · 598 阅读 · 0 评论 -
[LeetCode][LCR 175]计算二叉树的深度
某公司架构以二叉树形式记录,请返回该公司的层级数。4解释:上面示例中的二叉树的最大深度是 4,沿着路径 1 -> 2 -> 3 -> 4 或 1 -> 2 -> 5 -> 4到达叶节点的最长路径上有 4 个节点。原创 2024-03-13 12:06:20 · 356 阅读 · 0 评论 -
二分查找的梳理——边界初始值、循环条件、边界更新
同理,比中值大需要更新左边界,为了使确定不是二分区间内的 middle 不包含在下一次要进行二分的区间,故。同理,比中值大需要更新左边界,为了使确定不是二分区间内的 middle 不包含在下一次要进行二分的区间,故。这里的区间指的是在什么区间上进行二分。比中值大直接输出即可。比中值大直接输出即可。原创 2024-03-13 01:38:56 · 882 阅读 · 0 评论 -
[LeetCode][LCR174] 寻找二叉搜索树中的目标节点
某公司组织架构以二叉搜索树形式记录,节点值为处于该职位的员工编号。请返回第 cnt 大的员工编号。提示:1 ≤ cnt ≤ 二叉搜索树元素个数。原创 2024-03-12 23:22:02 · 355 阅读 · 0 评论 -
[LeetCode][426]【学习日记】将二叉搜索树转化为排序的双向链表——前驱节点pre 和 当前节点cur 的使用
将一个 二叉搜索树 就地转化为一个 已排序的双向循环链表。对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。特别地,我们希望可以就地完成转换操作。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继。还需要返回链表中最小元素的指针。[1,2,3]root = [][]解释:输入是空树,所以输出也是空链表。原创 2024-03-12 00:04:00 · 586 阅读 · 0 评论 -
[LeetCode][101]对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。示例 1:输入:root = [1,2,2,3,4,4,3] 输出:true示例 2:输入:root = [1,2,2,null,3,null,3] 输出:false提示:树中节点数目在范围 [1, 1000] 内。原创 2024-03-10 23:28:46 · 309 阅读 · 0 评论 -
[LeetCode][226]翻转二叉树
给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。提示:树中节点数目范围在 [0, 100] 内。原创 2024-03-10 13:26:51 · 359 阅读 · 0 评论 -
[LeetCode][LCR151]彩灯装饰记录 III——队列
一棵圣诞树记作根节点为root的二叉树,节点值为该位置装饰彩灯的颜色编号。提示:节点总数原创 2024-03-10 01:53:09 · 486 阅读 · 0 评论 -
[LeetCode][LCR143]树的子结构判断——递归
给定两棵二叉树tree1和tree2,判断tree2是否以tree1的某个节点为根的子树具有相同的结构和节点值。注意,空树不会是以tree1的某个节点为根的子树具有相同的结构和节点值。提示:0原创 2024-03-10 01:40:51 · 488 阅读 · 0 评论 -
[LeetCode][102]二叉树的层序遍历——遍历结果中每一层明显区分
给定二叉树的根节点root,返回节点值的层序遍历结果。即逐层地,从左到右访问所有节点。示例 1:输入:root = [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1] 输出:[[1]]示例 3:输入:root = [] 输出:[]提示:树中节点数目在范围 [0, 2000] 内。原创 2024-03-09 12:05:32 · 443 阅读 · 0 评论 -
[LeetCode][LCR149]彩灯装饰记录 I——二叉树的层序遍历
给定一棵圣诞树,记作根节点为root的二叉树,节点值为该位置装饰彩灯的颜色编号。按照从左到右的顺序返回每一层彩灯编号。示例 1:输入:root = [8,17,21,18,null,null,6] 输出:[8,17,21,18,6]提示: 节点总数原创 2024-03-09 11:39:58 · 245 阅读 · 0 评论 -
[LeetCode][295]数据流的中位数——巧妙利用大顶堆和小顶堆排序
中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。例如 arr = [2,3,4] 的中位数是 3。例如 arr = [2,3] 的中位数是 (2 + 3) / 2 = 2.5。提示:-105原创 2024-03-08 23:15:42 · 808 阅读 · 0 评论 -
[LeetCode][LCR184]设计自助结算系统——单调队列
get_max()add(value)valueremove()注意,为保证该系统运转高效性,以上函数的均摊时间复杂度均为 O(1)原创 2024-03-08 00:22:01 · 224 阅读 · 0 评论 -
[LeetCode][239]【学习日记】滑动窗口最大值——O(n)单调队列
给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 解释: 滑动窗口的位置最大值示例 2:输入:nums = [1], k = 1 输出:[1]原创 2024-03-07 22:30:37 · 905 阅读 · 0 评论 -
[LeetCode][946]【学习日记】验证栈序列——模拟栈行为
给定pushed和popped两个序列,每个序列中的值都不重复,只有当它们可能是在最初空栈上进行的推入push和弹出pop操作序列的结果时,返回true;否则,返回false。示例 1:输入:true示例 2:输入:false解释:1 不能在 2 之前弹出。原创 2024-03-07 19:42:51 · 476 阅读 · 0 评论 -
[LeetCode][155]【学习日记】最小栈——记录每个时刻的最小值
请你设计一个。它提供pushpoptop操作,并能在常数时间内检索到最小元素的栈。实现MinStackMinStack()void pop()int top()-231原创 2024-03-07 00:50:12 · 444 阅读 · 0 评论 -
[LeetBook]【学习日记】图书整理 II——用两个栈实现队列
读者来到图书馆排队借还书,图书管理员使用两个书车来完成整理借还书的任务。书车中的书从下往上叠加存放,图书管理员每次只能拿取书车顶部的书。为了保持图书的顺序,图书管理员每次取出供读者借阅的书籍是最早归还到图书馆的书籍。你需要返回每次读者借出书的值。如果没有归还的书可以取出,返回 -1。示例 1:输入: [“BookQueue”, “push”, “push”, “pop”] [[], [1], [2], []]原创 2024-03-06 22:11:13 · 397 阅读 · 0 评论 -
[LeetBook]【学习日记】有效数字——状态机
部分有效数字列举如下:[“2”, “0089”, “-0.1”, “+3.14”, “4.”, “-.9”, “2e10”,部分无效数字列举如下:[“abc”, “1a”, “1e”, “e3”, “99e2.5”, “–6”, “-+3”,给你一个字符串 s,如果 s 是一个有效数字,请返回 true。原创 2024-03-06 21:04:35 · 422 阅读 · 0 评论 -
[LeetCode][8]【学习日记】实现字符串转换整数 (atoi)函数
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi函数)。示例 1:输入:s = “42” 输出:42 解释:加粗的字符串为已经读入的字符,插入符号是当前读取的字符。^ 第 1 步:“42”(当前没有读入字符,因为没有前导空格)^ 第 2 步:“42”(当前没有读入字符,因为这里不存在 ‘-’ 或者 ‘+’)^ 第 3 步:“42”(读入 “42”)^ 解析得到整数 42。原创 2024-03-06 14:18:59 · 1067 阅读 · 0 评论