力扣LCR 算法题合集
力扣LCR 算法题合集
_OLi_
这个作者很懒,什么都没留下…
展开
-
LCR 132. 砍竹子 II
由于数量级较大,需要使用long以及快速幂求余。下图便于理解快速幂求余。原创 2024-03-09 11:06:28 · 442 阅读 · 0 评论 -
LCR 131. 砍竹子 I
b=2时,pow(3,a)*2 乘2就行,少一段3,并入b生成一个5更大。b=1时,pow(3,a-1)*4 少一段3,并入b生成一个4。b=0时,pow(3,a)原创 2024-03-09 10:21:50 · 306 阅读 · 0 评论 -
LCR 164. 破解闯关密码
【代码】LCR 164. 破解闯关密码。原创 2024-03-09 10:03:24 · 286 阅读 · 0 评论 -
LCR 186. 文物朝代判断
【代码】LCR 186. 文物朝代判断。原创 2024-03-09 09:17:19 · 276 阅读 · 0 评论 -
LCR 185. 统计结果概率
若希望递推计算 f(2,2),由于一个骰子的点数和范围为 [1,6] ,因此只应求和 f(1,1) ,即 f(1,0) , f(1,−1) , ... , f(1,−4) 皆无意义。逆向推理会有越界问题,原创 2024-03-08 11:12:18 · 278 阅读 · 0 评论 -
LCR 168. 丑数
【代码】LCR 168. 丑数。原创 2024-03-08 09:13:18 · 284 阅读 · 0 评论 -
LCR 167. 招式拆解 I
接下来我们看 j +1的情况。根据定义,sub[4]字符串中的字符肯定不重复,所以当 j = 5时,这时距离字符s[5]的左侧的重复字符a的索引 i = 0, 也就是说s[ 0 ]在子字符串sub[ 4 ]之外了,以s[5]结尾的字符串自然在sub[4]的基础上加上字符s[5]就构成了新的最长的不重复的子串sub[5],长度dp[5] = dp[4] + 1;以字符s[ j - 1 ]结尾的字符串记录为sub[ j - 1],其长度为dp[ j - 1 ],注意sub [ j - 1]中字符不重复。原创 2024-03-07 17:52:59 · 558 阅读 · 0 评论 -
LCR 165. 解密数字
【代码】LCR 165. 解密数字。原创 2024-03-07 09:09:43 · 232 阅读 · 0 评论 -
LCR 166. 珠宝的最高价值
以上代码逻辑清晰,和转移方程直接对应,但仍可提升效率,这是因为:当 frame 矩阵很大时,i=0或 j=0的情况仅占极少数,相当循环每轮都冗余了一次判断。因此,可先初始化矩阵第一行和第一列,再开始遍历递推。原创 2024-03-06 09:51:51 · 189 阅读 · 0 评论 -
LCR 188. 买卖芯片的最佳时机
【代码】LCR 188. 买卖芯片的最佳时机。原创 2024-03-06 09:21:21 · 311 阅读 · 0 评论 -
LCR 161. 连续天数的最高销售额
动态规划,比较灵活,不一定非要dp[i]原创 2024-03-05 09:56:55 · 342 阅读 · 0 评论 -
LCR 127. 跳跃训练
动态规划,类似于斐波那契数列,但需要根据题意调整初始值dp[0]和dp[1],递推公式由最后一跳跳一次或两次得到。原创 2024-03-05 09:09:55 · 363 阅读 · 0 评论 -
LCR 126. 斐波那契数
【代码】LCR 126. 斐波那契数。原创 2024-03-05 08:48:23 · 282 阅读 · 0 评论 -
LCR 170. 交易逆序对的总数
的来源见下图,因为两个数组都是单调递增的,所以如果第一个数组的前一个元素大于第二个数组的对应元素,那么第一个数组的这一元素的后面的元素都会大于第二个数组的对应元素。例如下面的例子:因为2>0,由两个数组都单调递增可知,2后面的元素都大于0,此时4个逆序对使得count增加4。归并排序,在归并的过程中不断计算逆序对的个数。原创 2024-03-04 11:05:52 · 377 阅读 · 0 评论 -
LCR 159. 库存管理 III
8 15(i,l换位,使得基准值5到了正确的位置)方法一:Arrays.sort()不推荐。注意Arrays.copyOf()的用法。排序1 4 2 3 和8 15即可。原创 2024-03-04 09:34:04 · 283 阅读 · 0 评论 -
LCR 135. 报数
【代码】LCR 135. 报数。原创 2024-03-04 08:47:39 · 87 阅读 · 0 评论 -
LCR 134. Pow(x, n)
Java中向下取整n/=2即可。原创 2024-03-03 11:22:58 · 198 阅读 · 0 评论 -
LCR 152. 验证二叉搜索树的后序遍历序列
【代码】LCR 152. 验证二叉搜索树的后序遍历序列。原创 2024-03-03 09:52:33 · 225 阅读 · 0 评论 -
LCR 124. 推理二叉树
【代码】LCR 124. 推理二叉树。原创 2024-03-03 09:12:48 · 284 阅读 · 0 评论 -
LCR 157. 套餐内商品的排列顺序
【代码】LCR 157. 套餐内商品的排列顺序。原创 2024-03-01 14:32:21 · 371 阅读 · 0 评论 -
LCR 153. 二叉树中和为目标值的路径
回溯:先序遍历+路径记录。原创 2024-03-01 09:24:13 · 167 阅读 · 0 评论 -
LCR 130. 衣橱整理
深度优先搜索(dfs)原创 2024-02-29 09:15:08 · 606 阅读 · 0 评论 -
LCR 129.字母迷宫
深度优先搜索(dfs)+ 剪枝。原创 2024-02-29 08:55:13 · 322 阅读 · 0 评论 -
LCR 189. 设计机械累加器
【代码】LCR 189. 设计机械累加器。原创 2024-02-28 18:27:41 · 100 阅读 · 0 评论 -
LCR 128. 库存管理 I
【代码】LCR 128. 库存管理 I。原创 2024-02-27 09:42:56 · 141 阅读 · 0 评论 -
LCR 121. 寻找目标值 - 二维数组
【代码】LCR 121. 寻找目标值 - 二维数组。原创 2024-02-27 09:07:53 · 527 阅读 · 0 评论 -
LCR 173. 点名
【代码】LCR 173. 点名。原创 2024-02-27 08:45:44 · 148 阅读 · 0 评论 -
LCR 172. 统计目标成绩的出现次数
【代码】LCR 172. 统计目标成绩的出现次数。原创 2024-02-26 21:35:23 · 383 阅读 · 0 评论 -
LCR 169. 招式拆解 II
【代码】LCR 169. 招式拆解 II。原创 2024-02-03 11:38:48 · 241 阅读 · 1 评论 -
LCR 156. 序列化与反序列化二叉树
【代码】LCR 156. 序列化与反序列化二叉树。原创 2024-02-02 17:42:08 · 142 阅读 · 0 评论 -
LCR 194. 二叉树的最近公共祖先
【代码】LCR 194. 二叉树的最近公共祖先。原创 2024-02-02 10:57:16 · 223 阅读 · 0 评论 -
LCR 193. 二叉搜索树的最近公共祖先
小的在左子树,大的在右子树。原创 2024-02-02 10:05:50 · 214 阅读 · 0 评论 -
LCR 176. 判断是否为平衡二叉树
【代码】LCR 176. 判断是否为平衡二叉树。原创 2024-01-04 20:17:07 · 432 阅读 · 0 评论 -
LCR 175. 计算二叉树的深度
本题有两种解法:后序遍历(递归或栈)和层序遍历。这里使用后序遍历(递归)原创 2024-01-04 19:46:24 · 430 阅读 · 0 评论 -
LCR 174. 寻找二叉搜索树中的目标节点
二叉搜索树一般采用中序遍历(从小到大排列)。原创 2024-01-04 17:56:07 · 673 阅读 · 0 评论 -
LCR 155. 将二叉搜索树转化为排序的双向链表
中序遍历法(二叉搜索树在中序遍历时是从小到大排列的)。采用head作为返回,使用pre和cur两个指针。原创 2024-01-04 16:05:20 · 727 阅读 · 0 评论 -
LCR 145. 判断对称二叉树
【代码】【无标题】原创 2024-01-04 14:56:51 · 346 阅读 · 0 评论 -
LCR 143. 子结构判断
【代码】LCR 143. 子结构判断。原创 2024-01-02 21:17:30 · 349 阅读 · 0 评论 -
LCR 151. 彩灯装饰记录 III
利用一个tmp在res为偶时实现正序添加,在res为奇实现逆序添加。与彩灯装饰记录 I和II类似。原创 2024-01-02 18:02:45 · 457 阅读 · 0 评论 -
LCR 150. 彩灯装饰记录 II
for循环处不能改为for(int i=0;i++),必须先将queue.size()赋值给i,不然queue.size()的值会变化,导致循环次数增加。与LCR. 彩灯装饰记录 I类似,增加了分层输出。原创 2023-12-30 15:35:45 · 452 阅读 · 0 评论