自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day61 | 97、小明逛公园 127、骑士的攻击

接下来的 n 行,每行包含四个整数 a1, a2, b1, b2,分别表示骑士的起始位置 (a1, a2) 和目标位置 (b1, b2)。小明喜欢去公园散步,公园内布置了许多的景点,相互之间通过小路连接,小明希望在观看景点的同时,能够节省体力,走最短的路径。接下来的 M 行,每行包含三个整数 u, v, w,表示景点 u 和景点 v 之间有一条长度为 w 的双向道路。接下来的 Q 行,每行包含两个整数 start, end,表示一个观景计划的起点和终点。接下里的一行包含一个整数 Q,表示观景计划的数量。

2024-09-02 11:20:02 367

原创 day60 | Bellman_ford 队列优化算法 bellman_ford之判断负权回路 bellman_ford之单源有限最短路

输出一个整数,表示从城市 src 到城市 dst 的最低运输成本,如果无法在给定经过城市数量限制下找到从 src 到 dst 的路径,则输出 “unreachable”,表示不存在符合条件的运输方案。某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从某个城市单向通行到另一个城市,不能反向通行。共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从某个城市单向通行到另一个城市,不能反向通行。

2024-08-31 23:18:21 703

原创 day59 | dijkstra(堆优化版)精讲 Bellman_ford 算法精讲

共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从某个城市单向通行到另一个城市,不能反向通行。示例中最佳路径是从 1 -> 2 -> 5 -> 6,路上的权值分别为 1 2 -2,最终的最低运输成本为 1 + 2 + (-2) = 1。接下来为 m 行,每行包括三个整数,s、t 和 v,表示 s 号城市运输货物到达 t 号城市,道路权值为 v (单向图)。如下图所示,起始车站为 1 号车站,终点车站为 7 号车站,绿色路线为最短的路线,路线总长度为 12,则输出 12。

2024-08-31 23:12:45 889

原创 day58 117. 软件构建 47. 参加科学大会(第六期模拟笔试

某个大型软件项目的构建系统拥有 N 个文件,文件编号从 0 到 N - 1,在这些文件中,某些文件依赖于其他文件的内容,这意味着如果文件 A 依赖于文件 B,则必须在处理文件 A 之前处理文件 B (0 <= A, B <= N - 1)。接下来为 M 行,每行包括三个整数,S、E 和 V,代表了从 S 车站可以单向直达 E 车站,并且需要花费 V 单位的时间。如下图所示,起始车站为 1 号车站,终点车站为 7 号车站,绿色路线为最短的路线,路线总长度为 12,则输出 12。

2024-08-31 23:08:01 722

原创 day57 | 53. 寻宝(第七期模拟笔试)

第一行包含两个整数V 和 E,V代表顶点数,E代表边数。例如:V=2,一个有两个顶点,分别是1和2。在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。接下来共有 E 行,每行三个整数 v1,v2 和 val,v1 和 v2 为边的起点和终点,val代表边的权值。不同岛屿之间,路途距离不同,国王希望你可以规划建公路的方案,如何可以以最短的总公路距离将 所有岛屿联通起来。给定一张地图,其中包括了所有的岛屿,以及它们之间的距离。以最小化公路建设长度,确保可以链接到所有岛屿。

2024-08-31 23:03:57 309

原创 day56 | 108. 冗余连接 109. 冗余连接II

该树除了根节点之外的每一个节点都有且只有一个父节点,而根节点没有父节点。输入一个有向图,该图由一个有着 n 个节点(节点编号 从 1 到 n),n 条边,请返回一条可以删除的边,使得删除该条边之后该有向图可以被当作一颗有向树。图中的 1 2,2 3,1 3 等三条边在删除后都能使原图变为一棵合法的树。现给定一个拥有 n 个节点(节点标号是从 1 到 n)和 n 条边的连通无向图,请找出一条可以删除的边,删除后图可以变成一棵树。输出一条可以删除的边,若有多条边可以删除,请输出标准输入中最后出现的一条边。

2024-08-31 22:59:37 311

原创 day55 | 107. 寻找存在的路径

输出一个整数,代表是否存在从节点 source 到节点 destination 的路径。你的任务是判断是否有一条从节点 source 出发到节点 destination 的路径存在。最后一行包含两个正整数,代表起始节点 source 和目标节点 destination。后续 M 行,每行两个正整数 s 和 t,代表从节点 s 与节点 t 之间有一条边。给定一个包含 n 个节点的无向图中,节点编号从 1 到 n (含 1 和 n )。第一行包含两个正整数 N 和 M,N 代表节点的个数,M 代表边的个数。

2024-08-31 22:54:03 353

原创 day53 |110. 字符串接龙 105. 有向图的完全可达性 106、岛屿的周长

给你两个字符串 beginStr 和 endStr 和一个字典 strList,找到从 beginStr 到 endStr 的最短转换序列中的字符串数目。现从 1 号节点开始,如果可以从 1 号节点的边可以到达任何节点,则输出 1,否则输出 -1。\4. 转换过程中的中间字符串必须是字典 strList 中的字符串,且strList里的每个字符串只用使用一次。给定一个由 1(陆地)和 0(水)组成的矩阵,岛屿是被水包围,并且通过水平方向或垂直方向上相邻的陆地连接而成的。输出一个整数,表示岛屿的周长。

2024-08-31 22:50:07 656

原创 day52 | 101、孤岛的总面积 **102、沉没孤岛** 103. 水流问题 104、建造最大岛屿

给定一个由 1(陆地)和 0(水)组成的矩阵,岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域,且完全被水域单元格包围。给定一个由 1(陆地)和 0(水)组成的矩阵,岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域,且完全被水域单元格包围。给定一个由 1(陆地)和 0(水)组成的矩阵,你最多可以将矩阵中的一格水变为一块陆地,在执行了此操作之后,矩阵中最大的岛屿面积是多少。输出共有多行,每行输出两个整数,用一个空格隔开,表示可达第一组边界和第二组边界的单元格的坐标,输出顺序任意。

2024-08-31 22:42:41 762

原创 day51 | 99、岛屿数量( 深搜 )99、岛屿数量 (广搜)100、岛屿的最大面积| 99、岛屿数量( 深搜 )99、岛屿数量 (广搜)100、岛屿的最大面积

给定一个由 1(陆地)和 0(水)组成的矩阵,计算岛屿的最大面积。岛屿面积的计算方式为组成岛屿的陆地的总数。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。第一行包含两个整数 N, M,表示矩阵的行数和列数。后续 N 行,每行包含 M 个数字,数字为 1 或者 0,表示岛屿的单元格。count = 1;后续 N 行,每行包含 M 个数字,数字为 1 或者 0。

2024-08-31 22:31:11 358

原创 day50 | 98. 所有可达路径

例如正确的答案是。

2024-08-31 22:25:16 426

原创 day49 | 42. 接雨水 84. 柱状图中最大的矩形

个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。求在该柱状图中,能够勾勒出来的矩形的最大面积。个非负整数表示每个宽度为。

2024-08-31 22:09:01 318

原创 day48 | 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II

是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用。如果不存在下一个更大元素,那么本次查询的答案是。**进阶:**你可以设计一个时间复杂度为。,表示每天的温度,返回一个数组。

2024-08-31 22:05:27 446

原创 day46 | 647. 回文子串 516.最长回文子序列

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。,找出其中最长的回文子序列,并返回该序列的长度。是字符串中的由连续字符组成的一个序列。是正着读和倒过来读一样的字符串。,请你统计并返回这个字符串中。

2024-08-31 13:25:39 287

原创 day45 | 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离

出现的个数,结果需要对 109 + 7 取模。可以删除任意一个字符串中的一个字符。

2024-08-30 23:34:31 415

原创 day44 | 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 392.判断子序列

Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。以这种方法绘制线条,并返回可以绘制的最大连线数。是这两个字符串所共同拥有的子序列。是数组中的一个连续部分。

2024-08-30 23:26:41 343

原创 day43 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。,找到其中最长严格递增子序列的长度。、长度最长的子数组的长度。)确定,如果对于每个。就是连续递增子序列。

2024-08-30 23:15:50 355

原创 day42 | 188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费

你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。设计一个算法计算出最大利润。**注意:**这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。设计一个算法来计算你所能获取的最大利润。也就是说,你最多可以买。返回获得利润的最大值。面试中遇到过这道题?

2024-08-30 23:08:31 470

原创 day41 | 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III

*注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。在每一天,你可以决定是否购买和/或出售股票。设计一个算法来计算你所能获取的最大利润。设计一个算法来计算你所能获取的最大利润。你也可以先购买,然后在。个元素是一支给定的股票在第。买入这只股票,并选择在。给定一个数组,它的第。

2024-08-30 22:54:48 336

原创 day39 | 198.打家劫舍 213.打家劫舍II 337.打家劫舍III

一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,小偷又发现了一个新的可行窃的地区。给定一个代表每个房屋存放金额的非负整数数组,计算你。给定一个代表每个房屋存放金额的非负整数数组,计算你。

2024-08-30 22:31:35 704

原创 day38 | 322. 零钱兑换 279.完全平方数 139.单词拆分

是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。**注意:**不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。如果可以利用字典中出现的一个或多个单词拼接出。如果没有任何一种硬币组合能组成总金额,返回。,表示不同面额的硬币;你可以认为每种硬币的数量是无限的。计算并返回可以凑成总金额所需的。的完全平方数的最少数量。

2024-08-30 22:21:14 452

原创 day37 | 52. 携带研究材料(第七期模拟笔试)518. 零钱兑换 II 377. 组合总和 Ⅳ 70. 爬楼梯 (进阶)

这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的重量,并且具有不同的价值。小明的行李箱所能承担的总重量为 N,问小明应该如何抉择,才能携带最大价值的研究材料,每种研究材料可以选择无数次,并且可以重复选择。当 m = 2,n = 3 时,n = 3 这表示一共有三个台阶,m = 2 代表你每次可以爬一个台阶或者两个台阶。接下来包含 N 行,每行两个整数 wi 和 vi,代表第 i 种研究材料的重量和价值。第一行包含两个整数,N,V,分别表示研究材料的种类和行李空间。

2024-08-30 21:26:51 465

原创 day36 | 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x <= y。如果x == y,那么两块石头都会被完全粉碎;如果x!= y,那么重量为x的石头将会完全粉碎,而重量为y的石头新重量为y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回0。

2024-08-30 20:50:44 336

原创 day35 | | 01背包问题 二维 01背包问题 一维(二刷) 416. 分割等和子集

416. 分割等和子集。

2024-08-30 10:33:47 225

原创 day35| 62.不同路径 63. 不同路径 II 343. 整数拆分 (可跳过)96.不同的二叉搜索树 (可跳过)

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格的左上角 (起始点在下图中标记为 “Start” )。网格的左上角 (起始点在下图中标记为 “Start” )。返回满足题意的二叉搜索树的种数。),并使这些整数的乘积最大化。问总共有多少条不同的路径?// 初始化dp数组。

2024-08-19 15:25:03 756

原创 day32 | 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

70. 爬楼梯746. 使用最小花费爬楼梯。

2024-08-08 18:03:05 424

原创 day31| 56. 合并区间 738.单调递增的数字 968.监控二叉树 (可跳过)

968.监控二叉树 (可跳过)

2024-08-08 18:01:51 313

原创 day30 | 452. 用最少数量的箭引爆气球 435. 无重叠区间 763.划分字母区间

有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。处射出一支箭,若有一个气球的直径的开始和结束坐标为。需要移除区间的最小数量,使剩余区间互不重叠。你不知道气球的确切 y 坐标。弓箭一旦被射出之后,可以无限地前进。返回一个表示每个字符串片段的长度的列表。一支弓箭可以沿着 x 轴从不同点。返回引爆所有气球所必须射出的。可以射出的弓箭的数量。

2024-08-08 18:00:34 526

原创 day29 | 134. 加油站 135. 分发糖果 860.柠檬水找零 406.根据身高重建队列

135. 分发糖果406.根据身高重建队列。

2024-08-08 17:59:21 858

原创 day28 | 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 1005.K次取反后最大化的数组和

1005.K次取反后最大化的数组和。

2024-08-04 22:39:09 848

原创 day27 | 455.分发饼干 376. 摆动序列 53. 最大子序和

如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 **摆动序列。**第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如,是一个摆动序列,因为差值是正负交替出现的。相反,和不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。子序列可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。给你一个整数数组nums,返回nums中作为摆动序列的最长子序列的长度。

2024-07-30 16:18:43 801

原创 day25 | 491.递增子序列 46.全排列 47.全排列 II

46.全排列47.全排列 IIreturn res;return;i++){// 树层去除continue;

2024-07-29 15:42:10 349

原创 day24 | | 93.复原IP地址 78.子集 90.子集II

78.子集90.子集II。

2024-07-29 15:40:02 630

原创 day23 | 39. 组合总和 40.组合总和II 131.分割回文串 Leetcode 39. 组合总和

40.组合总和II。

2024-07-28 23:50:26 496

原创 day22 | 77. 组合 216.组合总和III 17.电话号码的字母组合

216.组合总和III注意:此题每个数字最多使用一次,该列表不能包含相同的组合两次所以startIndex后续加1(仅代表个人观点)

2024-07-28 23:43:12 491

原创 day20 | 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5],可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。要求算法时间复杂度为 O(h),h 为树的高度。

2024-07-26 15:12:01 421

原创 day18 | 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先

236. 二叉树的最近公共祖先。

2024-07-26 15:10:57 894

原创 day17 | | 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树

}* }*/// 确定函数参数和返回值// 递归终止条件// 当root1遍历到为空// 当root2遍历到为空// 修改root1的结构,不重新声明树//中//左//右/*** int val;* }* }*/// 终止条件// 定义一个新的树1、递归。

2024-07-24 23:11:13 388

原创 day21 | 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树

*注意:**本题和 1038: https://leetcode-cn.com/problems/binary-search-tree-to-greater-sum-tree/ 相同。通过设置双指针,cur为遍历的当前节点,pre为当前节点的前一个节点,通过cur.val += pre;树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点。将中间节点作为树的根节点,因为数组是有序的,左边为树的左子树,右边为树的右子树,最后返回树。给你二叉搜索树的根节点。

2024-07-24 19:54:39 889

原创 day16 | 513.找树左下角的值 112. 路径总和 106、从中序与后序遍历序列构造二叉树

给你二叉树的根节点root和一个表示目标和的整数targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。如果存在,返回true;否则,返回false。叶子节点是指没有子节点的节点。输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true解释:等于目标和的根节点到叶节点路径如上图所示。输入:root = [1,2,3], targetSum = 5。

2024-07-23 13:27:27 421

空空如也

空空如也

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

TA关注的人

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