- 博客(215)
- 收藏
- 关注
原创 蓝桥杯第十四届真题 棋盘 二维差分数组
小蓝拥有 n×n 大小的棋盘,一开始棋盘上全都是白子。小蓝进行了 m 次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)。请输出所有操作做完后棋盘上每个棋子的颜色。
2024-03-09 20:00:00
913
原创 蓝桥杯第1037题子串分值和 C++ 字符串 逆向思维 巧解
仅能过60%样例,大多数同学都用的该方法,就不过多赘述insumas通过cin输入字符串到数组a中,并使用strlen函数获取字符串a的长度赋值给变量n。使用for循环遍历字符串asumi+1(n-i)i+1s最后,通过cout输出最终计算得到的结果sum。
2023-12-03 08:00:00
659
1
原创 蓝桥杯第2117题 砍竹子 c++ 困难 模拟 题解简单秒杀 + 注释
空间复杂度,主要是由数组 a、p 和临时变量 t 所占用的空间,因此空间复杂度为 O(n)。时间复杂度介于 O(n) 和 O(n^2) 之间,具体取决于 max1 的值和数组中元素的分布情况。
2023-12-01 08:00:00
414
原创 力扣LCR 100题 三角形最小路径和 C++ 动态规划 附Java代码
中等相关标签给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。在这里指的是与相同或者等于的两个结点。也就是说,如果正位于当前行的下标i,那么下一步可以移动到下一行的下标i或i + 1。11如下面简图所示:46748 3自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。
2023-11-27 08:00:00
274
原创 力扣第462题 最小操作次数使数组元素相等 II C++ 排序基础 附Java代码
中等相关标签给你一个长度为n的整数数组nums,返回使所有数组元素相等需要的最小操作数。在一次操作中,你可以使数组中的一个元素加1或者减1。2只需要两次操作(每次操作指南使一个元素加 1 或减 1):1316。
2023-11-23 08:00:00
263
原创 力扣第463题 岛屿的周长 C++ 深度优先搜索 + 思维判断的边界
简单相关标签给定一个row x col的二维网格地图grid表示陆地,表示水域。网格中的格子方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100。计算这个岛屿的周长。16它的周长是上面图片中的 16 个黄色的边4401。
2023-11-22 08:00:00
333
原创 力扣第841题 钥匙和房间 C++ DFS BFS 附Java代码
中等相关标签有n个房间,房间按从0到n - 1编号。最初,除0号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而,你不能在没有获得钥匙的时候进入锁住的房间。当你进入一个房间,你可能会在里面找到一套不同的钥匙,每把钥匙上都有对应的房间号,即表示钥匙可以打开的房间。你可以拿上所有钥匙去解锁其他房间。给你一个数组rooms其中rooms[i]是你进入i号房间可以获得的钥匙集合。如果能进入房间返回true,否则返回false。true我们从 0 号房间开始,拿到钥匙 1。
2023-11-21 08:00:00
331
原创 力扣第127题 单词接龙 C++ 广度优先搜索 附Java代码
困难相关标签字典wordList中从单词beginWord和endWord的是一个按下述规格形成的序列siwordListbeginWordwordList给你两个单词beginWord和endWord和一个字典wordList,返回从beginWord到endWord的中的。如果不存在这样的转换序列,返回0。5一个最短转换序列是 "hit" -> "hot" -> "dot" -> "dog" -> "cog", 返回它的长度 5。0。
2023-11-20 08:00:00
132
原创 力扣第827题 最大人工岛 C++ 深度优先搜索 附Java代码
困难相关标签给你一个大小为n x n二进制矩阵grid。只能将一格0变成1。返回执行此操作后,grid中最大的岛屿面积是多少?由一组上、下、左、右四个方向相连的1形成。3将一格0变成1,最终连通两个小岛得到面积为 3 的岛屿。grid =4将一格0变成1,岛屿的面积扩大为 4。4没有0可以让我们变成1,面积依然为 4。01。
2023-11-19 08:00:00
215
原创 力扣第1020题 飞地的数量 C++ 深度优先搜索 附Java代码
中等相关标签给你一个大小为m x n的二进制矩阵grid,其中0表示一个海洋单元格、1表示一个陆地单元格。一次是指从一个陆地单元格走到另一个相邻()的陆地单元格或跨过grid的边界。返回网格中在任意次数的移动中离开网格边界的陆地单元格的数量。3有三个 1 被 0 包围。一个 1 没有被包围,因为它在边界上。0所有 1 都在边界上或可以到达边界。01。
2023-11-18 08:00:00
140
原创 力扣第695题 岛屿的最大面积 C++ DFS BFS 附Java代码
相关标签给你一个大小为m x n的二进制矩阵grid。是由一些相邻的1(代表土地) 构成的组合,这里的「相邻」要求两个1必须在相邻。你可以假设grid的四个边缘都被0(代表水)包围着。岛屿的面积是岛上值为1的单元格的数目。计算并返回grid中最大的岛屿面积。如果没有岛屿,则返回面积为0。6答案不应该是 11 ,因为岛屿只能包含水平或垂直这四个方向上的 1。001。
2023-11-17 09:00:00
495
原创 力扣第200题 岛屿数量 C++ dfs bfs 深搜和广搜 附Java代码
中等相关标签给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。
2023-11-17 08:00:00
559
原创 力扣第797题 所有可能的路径 C++ 深度优先搜索 +java
中等相关标签给你一个有n个节点的,请你找出所有从节点0到节点n-1的路径并输出(graph[i]是一个从节点i可以访问的所有节点的列表(即从节点i到节点存在一条有向边)。有两条路径 0 -> 1 -> 3 和 0 -> 2 -> 3graph[i]
2023-11-16 09:00:00
277
原创 力扣第84 题柱状图中最大的矩形 C++ 单调栈 Java
困难相关标签给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。10最大的矩形为图中红色区域,面积为 104。
2023-11-16 08:00:00
360
原创 力扣第42题 接雨水 C++ 动态规划 + 单调栈 + 双指针 Java总代码 都有
困难相关标签给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。6上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。9。
2023-11-15 09:00:00
375
原创 力扣第503题 下一个更大元素 II C++ 单调栈 + Java代码
中等相关标签给定一个循环数组nums的下一个元素是nums[0]),返回 nums中每个元素的。数字x的是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。[2,-1,2]第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;第二个 1 的下一个最大的数需要循环搜索,结果也是 2。
2023-11-15 08:00:00
118
原创 力扣第496题 下一个更大元素 I C++ 暴力 | 单调栈(优化)+ Java注释
简单相关标签nums1中数字x的是指x在nums2中对应位置的比x大的元素。给你两个的数组nums1和nums2,下标从开始计数,其中nums1是nums2的子集。对于每个,找出满足的下标j,并且在nums2确定nums2[j]的。如果不存在下一个更大元素,那么本次查询的答案是-1。返回一个长度为的数组ans作为答案,满足ans[i]是如上所述的。[-1,3,-1]nums1 中每个值的下一个更大元素如下所述:- 4 ,用加粗斜体标识,nums2 = [1,3,,2]。
2023-11-14 09:00:00
172
原创 力扣第739题 每日温度 c++ 单调栈 Java
中等相关标签给定一个整数数组,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。
2023-11-14 08:00:00
409
原创 力扣第516题 最长回文子序列 c++ 动态规划 附Java代码 注释版
相关标签给你一个字符串s,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。4一个可能的最长回文子序列为 "bbbb"。s = "cbbd"2一个可能的最长回文子序列为 "bb"。
2023-11-13 09:00:00
321
原创 力扣第647题 回文子串 c++ 动态规划 双指针 附Java代码 注释解释版
中等相关标签给你一个字符串s,请你统计并返回这个字符串中的数目。是正着读和倒过来读一样的字符串。是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。s = "abc"3三个回文子串: "a", "b", "c"s = "aaa"66个回文子串: "a", "a", "a", "aa", "aa", "aaa"
2023-11-13 08:00:00
175
原创 力扣第72题 编辑距离 (增 删 改) C++ 动态规划 附Java代码
中等相关标签给你两个单词word1和word2请返回将word1转换成word2所使用的最少操作数。3horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')5intention -> inention (删除 't')inention -> enention (将 'i' 替换为 'e')enention -> exention (将 'n' 替换为 'x')
2023-11-12 08:00:00
488
原创 力扣第583题 两个字符串的删除操作 c++ 动态规划 附Java代码
中等相关标签给定两个单词word1和word2,返回使得word1和word2所需的。可以删除任意一个字符串中的一个字符。2第一步将 "sea" 变为 "ea" ,第二步将 "eat "变为 "ea"4word2。
2023-11-11 09:00:00
248
原创 力扣第115题 不同的子序列 c++ 动态规划 注释版 + Java代码
相关标签给你两个字符串s和t,统计并返回在s的中t出现的个数,结果需要对 109 + 7 取模。输出 : 3如下所示, 有 3 种可以从 s 中得到 "rabbit" 的方案。输出 : 5如下所示, 有 5 种可以从 s 中得到 "bag" 的方案。t。
2023-11-11 08:00:00
77
原创 力扣第392题 判断子序列 c++ 双指针 动态规划 + 其他解法 附Java代码
简单相关标签给定字符串和,判断是否为的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?添加此问题并且创建所有测试用例。truefalse。
2023-11-10 10:00:00
146
原创 力扣第1035题 不相交的线中等 c++ (最长公共子序列) 动态规划 附Java代码
中等相关标签在两条独立的水平线上按给定的顺序写下nums1和nums2中的整数。现在,可以绘制一些连接两个数字nums1[i]和nums2[j]请注意,连线即使在端点也不能相交:每个数字只能属于一条连线。以这种方法绘制线条,并返回可以绘制的最大连线数。2可以画出两条不交叉的线,如上图所示。但无法画出第三条不相交的直线,因为从 nums1[1]=4 到 nums2[2]=4 的直线将与从 nums1[2]=2 到 nums2[1]=2 的直线相交。32。
2023-11-10 09:00:00
285
原创 力扣第53题 最大子数组和 C++ 动态规划 / 贪心算法 附Java代码
中等相关标签给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。是数组中的一个连续部分。6连续子数组 [4,-1,2,1] 的和最大,为 6。nums = [1]123如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的求解。
2023-11-10 08:00:00
184
原创 力扣第1143题 最长公共子序列 c++ 动态规划 附Java代码 注释版
相关标签给定两个字符串text1和text2,返回这两个字符串的最长的长度。如果不存在,返回0。一个字符串的是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。"ace""abcde""aec""abcde"两个字符串的是这两个字符串所共同拥有的子序列。3最长公共子序列是 "ace" ,它的长度为 3。3最长公共子序列是 "abc" ,它的长度为 3。0两个字符串没有公共子序列,返回 0。text2。
2023-11-09 10:00:00
226
原创 力扣第718题 最长重复子数组 c++ 动态规划 + 滚动数组优化 附Java代码
中等相关标签给两个整数数组nums1和nums2,返回两个数组中、长度最长的子数组的长度。3长度最长的公共子数组是 [3,2,1]。5。
2023-11-09 09:00:00
224
原创 力扣第674题 最长连续递增序列 C++ 动态规划 + 贪心 附Java代码
简单相关标签给定一个未经排序的整数数组,找到最长且,并返回该序列的长度。可以由两个下标l和rl < r)确定,如果对于每个l <= i < r,都有,那么子序列就是连续递增子序列。3最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。1最长连续递增序列是 [2], 长度为1。
2023-11-09 08:00:00
70
原创 力扣第300题 最长递增子序列 c++ 动态规划题 附Java代码
中等相关标签给你一个整数数组nums,找到其中最长严格递增子序列的长度。是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组的子序列。4最长递增子序列是 [2,3,7,101],因此长度为 4。41。
2023-11-08 09:00:00
252
原创 力扣第714题 买卖股票的最佳时机含手续费 c++ 动态规划 附Java代码
相关标签给定一个整数数组prices,其中prices[i]表示第i天的股票价格;整数fee代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。8能够达到的最大利润:在此处买入 prices[0] = 1在此处卖出 prices[3] = 8在此处买入 prices[4] = 4。
2023-11-08 08:00:00
160
原创 力扣第309题 买卖股票的最佳时机含冷冻期 c++ 动态规划 附Java代码
中等相关标签给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。设计一个算法计算出最大利润。你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。3对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]0。
2023-11-07 10:00:00
89
原创 力扣第188题 买卖股票的最佳时机 IV c++ 动态规划题 附Java代码
困难相关标签给你一个整数数组prices和一个整数k,其中prices[i]是某支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。也就是说,你最多可以买k次,卖k次。你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。2在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2。7。
2023-11-07 09:30:00
196
lenyan算法笔记,日常更新自己的笔记而已
2024-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅