自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 随想录总结 Day 77

体会这里最深的是学习DisjointSet的时候,之前每每看这个部分都只有一两道题,经常学了又记不清,也搞不懂原由。回忆75天的做题时间,差点没坚持下来的有两个时间点,一个是在前20天,很多时候二叉树这种基础题,前中后序列遍历之类的。第二个节点是最后图论阶段,预期六十天的做题延长了十天,还好算法理论基础扎实,这几个教科书里面的算法没遇到什么理解上的难度,挺一挺也过来了。最后图论环节也是这段做题旅程的意外之喜,学习算法的时候手推的算法,一个个都落成了代码。总之,这些天收获满满,下一步,进阶去刷竞赛题喽!

2024-07-02 19:38:50 143

原创 随想录 Day 74 Floyd / A*

时间限制:1.000S 空间限制:256MB题目描述小明喜欢去公园散步,公园内布置了许多的景点,相互之间通过小路连接,小明希望在观看景点的同时,能够节省体力,走最短的路径。给定一个公园景点图,图中有 N 个景点(编号为 1 到 N),以及 M 条双向道路连接着这些景点。每条道路上行走的距离都是已知的。小明有 Q 个观景计划,每个计划都有一个起点 start 和一个终点 end,表示他想从景点 start 前往景点 end。由于小明希望节省体力,他想知道每个观景计划中从起点到终点的最短路径长度。

2024-07-01 16:17:41 575

原创 随想录 Day 74 Bellman_ford

时间限制:1.000S 空间限制:256MB题目描述某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从某个城市单向通行到另一个城市,不能反向通行。网络中的道路都有各自的运输成本和政府补贴,道路的权值计算方式为:运输成本 - 政府补贴。权值为正表示扣除了政府补贴后运输货物仍需支付的费用;权值为负则表示政府的补贴超过了支出的运输成本,实际表现为运输过程中还能赚取一定的收益。

2024-06-29 12:06:05 696

原创 随想录 Day 73 堆排序dijkstra Bellman_ford

时间限制:1.500S 空间限制:128MB题目描述小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。小明的起点是第一个车站,终点是最后一个车站。然而,途中的各个车站之间的道路状况、交通拥堵程度以及可能的自然因素(如天气变化)等不同,这些因素都会影响每条路径的通行时间。小明希望能选择一条花费时间最少的路线,以确保他能够尽快到达目的地。输入描述第一行包含两个正整数,第一个正整数 N 表示一共有 N 个公共汽车站,第二个正整数 M 表示有 M 条公路。

2024-06-28 12:24:47 841

原创 随想录 Day 72 拓扑排序、最短路径 朴素dijkstra

时间限制:1.000S 空间限制:256MB题目描述某个大型软件项目的构建系统拥有 N 个文件,文件编号从 0 到 N - 1,在这些文件中,某些文件依赖于其他文件的内容,这意味着如果文件 A 依赖于文件 B,则必须在处理文件 A 之前处理文件 B (0

2024-06-27 20:53:26 306

原创 随想录 Day 71 最小生成树 prim算法 kruskal算法

时间限制:1.000S 空间限制:128MB题目描述在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。不同岛屿之间,路途距离不同,国王希望你可以规划建公路的方案,如何可以以最短的总公路距离将 所有岛屿联通起来(注意:这是一个无向图)。给定一张地图,其中包括了所有的岛屿,以及它们之间的距离。以最小化公路建设长度,确保可以链接到所有岛屿。输入描述第一行包含两个整数V 和 E,V代表顶点数,E代表边数。顶点编号是从1到V。

2024-06-27 11:41:08 434

原创 随想录 Day 70 并查集 108. 冗余连接 109. 冗余连接II

时间限制:1.000S 空间限制:256MB题目描述树可以看成是一个图(拥有 n 个节点和 n - 1 条边的连通无环无向图)。现给定一个拥有 n 个节点(节点标号是从 1 到 n)和 n 条边的连通无向图,请找出一条可以删除的边,删除后图可以变成一棵树。输入描述第一行包含一个整数 N,表示图的节点个数和边的个数。后续 N 行,每行包含两个整数 s 和 t,表示图中 s 和 t 之间有一条边。输出描述输出一条可以删除的边。如果有多个答案,请删除标准输入中最后出现的那条边。

2024-06-25 16:27:28 271

原创 随想录 Day 69 并查集 107. 寻找存在的路径

int。

2024-06-24 13:07:11 293

原创 随想录 Day 66 110. 字符串接龙 105. 有向图的完全可达性 106. 岛屿的周长

时间限制:1.000S 空间限制:256MB题目描述字典 strList 中从字符串 beginStr 和 endStr 的转换序列是一个按下述规格形成的序列:序列中第一个字符串是 beginStr。序列中最后一个字符串是 endStr。每次转换只能改变一个字符。转换过程中的中间字符串必须是字典 strList 中的字符串,且strList里的每个字符串只用使用一次。

2024-06-23 18:13:14 559

原创 随想录 Day 66 101. 孤岛的总面积 102. 沉没孤岛 103. 水流问题

时间限制:1.000S 空间限制:256MB题目描述给定一个由 1(陆地)和 0(水)组成的矩阵,岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域,且完全被水域单元格包围。孤岛是那些位于矩阵内部、所有单元格都不接触边缘的岛屿。现在你需要计算所有孤岛的总面积,岛屿面积的计算方式为组成岛屿的陆地的总数。输入描述第一行包含两个整数 N, M,表示矩阵的行数和列数。之后 N 行,每行包含 M 个数字,数字为 1 或者 0。输出描述。

2024-06-23 16:39:14 1138

原创 随想录 Day 65 99. 岛屿数量 100. 岛屿的最大面积

题目描述给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。输入描述第一行包含两个整数 N, M,表示矩阵的行数和列数。后续 N 行,每行包含 M 个数字,数字为 1 或者 0。输出描述输出一个整数,表示岛屿的数量。如果不存在岛屿,则输出 0。输入示例4 51 1 0 0 01 1 0 0 00 0 1 0 00 0 0 1 1输出示例3。

2024-06-21 21:40:06 256

原创 随想录Day 64| 图论part01

深度搜索广度搜索。

2024-06-20 18:40:28 214

原创 随想录Day63 | 单调栈 42. 接雨水 84.柱状图中最大的矩形

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

2024-06-18 19:52:39 402

原创 随想录Day62 | 单调栈 739. 每日温度 496.下一个更大元素 I 503. 下一个更大元素 II

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。

2024-06-17 13:09:21 420

原创 随想录Day60 | 回文 647. 回文子串 516.最长回文子序列

给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。

2024-06-14 14:03:52 252

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

不同子序列: 是否选取最后一个元素删除操作:最后删除哪个词的最后一个元素编辑距离:三种操作的哪种来解决最后一个元素不匹配的情况。

2024-06-14 12:13:20 418

原创 随想录Day58 | 392.判断子序列

重复子串专题。

2024-06-13 15:20:42 202

原创 随想录Day57 | 1143.最长公共子序列 1143.最长公共子序列 53. 最大子序和

重复子串专题。

2024-06-12 12:51:41 280

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

重复子串专题。

2024-06-11 14:03:42 422

原创 随想录Day53 | 309. 买卖股票的最佳时机含冷冻期 714. 买卖股票的最佳时机含手续费

今天的题也是比较经典,见到的次数也比较多了,跳过二维dp,直接压缩空间写比较精简的题解。

2024-06-07 18:03:17 217

原创 随想录Day52 | 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

今天的题比较经典,见到的次数也比较多了,跳过二维dp,直接压缩空间写比较精简的题解。

2024-06-07 10:32:25 272

原创 随想录day 51 | 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。

2024-06-06 11:02:46 214

原创 随想录day 50 | 198. 打家劫舍 213. 打家劫舍 II 337. 打家劫舍III

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

2024-06-05 20:57:43 264

原创 随想录 Day 49 139.单词拆分 多重背包

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。

2024-06-03 21:34:43 246

原创 随想录Day48 57.爬楼梯进阶 322.零钱兑换 279.完全平方数

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。

2024-06-03 07:41:36 280

原创 随想录 day 46 完全背包 518. 零钱兑换 II 377. 组合总和 Ⅳ

题目描述小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的重量,并且具有不同的价值。小明的行李箱所能承担的总重量为 N,问小明应该如何抉择,才能携带最大价值的研究材料,每种研究材料可以选择无数次,并且可以重复选择。输入描述第一行包含两个整数,N,V,分别表示研究材料的种类和行李空间。

2024-06-02 16:13:21 933

原创 随想录 Day45 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

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

2024-05-31 15:12:20 359

原创 随想录 Day44 01背包问题,你该了解这些! 01背包问题,你该了解这些! 滚动数组 416. 分割等和子集

这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的空间,并且具有不同的价值。小明的行李空间为 N,问小明应该如何抉择,才能携带最大价值的研究材料,每种研究材料只能选择一次,并且只有选与不选两种选择,不能进行切割。小明能够携带 6 种研究材料,但是行李空间只有 1,而占用空间为 1 的研究材料价值为 5,所以最终答案输出 5。第一行包含两个正整数,第一个整数 M 代表研究材料的种类,第二个正整数 N,代表小明的行李空间。输出一个整数,代表小明能够携带的研究材料的最大价值。

2024-05-30 21:19:18 185

原创 2024/5/28 Day43 Dynamic Programming 343. 整数拆分 96.不同的二叉搜索树

给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积。

2024-05-28 21:32:57 252

原创 2024/5/28 Day42 Dynamic Programming 理论基础 62.不同路径 63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?

2024-05-28 08:09:32 343

原创 2024/5/25 Day39 Dynamic Programming 理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。F(n) = F(n - 1) + F(n - 2),其中 n > 1。每次你可以爬 1 或 2 个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。需要 n 阶你才能到达楼顶。给定 n ,请计算 F(n)。

2024-05-27 09:23:00 381

原创 2024/5/25 Day39 greedy 738. 单调递增的数字 968. 监控二叉树

当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增。

2024-05-24 22:07:34 404

原创 2024/5/24 Day38 greedy 435. 无重叠区间 763.划分字母区间 56. 合并区间

重叠区间问题。

2024-05-23 21:29:10 343

原创 2024/5/23 随想录 Day37 greedy 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false。

2024-05-22 21:23:18 387

原创 2024/5/22 Day36 greedy 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i]。重复这个过程恰好 k 次。可以多次选择同一个下标 i。以这种方式修改数组后,返回数组 可能的最大和。

2024-05-22 10:57:48 493

原创 2024/5/21 Day35 greedy 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。返回 你能获得的 最大 利润。

2024-05-21 09:24:08 243

原创 2024/5/20 Day34 greedy 455.分发饼干 376. 摆动序列 53. 最大子序和

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。

2024-05-20 14:49:41 271

原创 Day32 backtracking 332.重新安排行程 51. N皇后 37. 解数独

随想录。

2024-05-19 13:16:44 801

原创 代码随想录Day31 | 回溯 491.递增子序列 46.全排列 47.全排列 II

三数之和。

2024-05-17 19:30:39 444

原创 代码随想录Day30 | 回溯 93.复原IP地址 78.子集 90.子集II

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。

2024-05-15 21:14:13 253

空空如也

空空如也

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

TA关注的人

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