自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯每日一题--第一周(包含五题)

AcWing 6122. 农夫约翰的奶酪块农夫约翰有一块立方体形状的奶酪,它位于三维坐标空间中,从 (0,0,0)(0,0,0) 延伸至 (N,N,N)(N,N,N)。农夫约翰将对他的奶酪块执行一系列 QQ 次更新操作。对于每次更新操作,农夫约翰将从整数坐标 (x,y,z)(x,y,z) 到 (x+1,y+1,z+1)(x+1,y+1,z+1) 处切割出一个 1×1×11×1×1 的奶酪块,其中 0≤x,y,z<N0≤x,y,z<N。

2025-02-22 14:30:44 831

原创 Leetcode 90. 子集 II

这个判断可以去掉相同元素带来的重复的子集!

2025-02-05 10:31:50 162

原创 Leetcode 78. 子集(全排列的变形)

因为本题说明数组中的元素互不相同,因此要求所有的子集,也就是讲数组里面的数进行组合就行,但是不能重复。

2025-02-05 10:27:11 183

原创 Leetcode 350. 两个数组的交集 II (简单题有大学问)

(进阶三是参考答案滴!因为觉得自己讲不清楚~~~~)定义两个指针分别指向nums1, nums2的头部,然后逐一遍历,如果nums1[id1] > nums2[id2],那么就 id2++,如果nums1[id1] > nums2[id2],则 id1 ++,如果相等的话,那么就将指针都往后移动一位,且这个元素为交集,并且将元素加入答案中。用一个哈西表来存储nums1的里面的元素出现的个数(或者存储nums2的也行),然后遍历一遍nums2的元素,判断是否将元素加入答案中!如果排好序,则使用方法二!

2025-01-30 14:25:48 298 1

原创 Leetcode 45. 跳跃游戏 II

dp【i】指的是从0跳到i所需要的最小的步骤。讲的可能不太好(因为自己动态规划也不太好!

2025-01-28 10:19:25 287

原创 Leetcode 119. 杨辉三角 II

C++:(自己写的老出现越界的情况,实在不明白!,以下参考了灵神的代码,但是我的思路是一样的)

2025-01-28 10:12:50 195 1

原创 Leetcode 40. 组合总和 II

题目上的进阶变形,需要在原来的深度优先搜索上进行剪枝来进行优化,满足题目要求。到这里就差不多结束啦!

2025-01-26 15:53:55 259

原创 数据结构--差分数组(含题目)<基础入门>

举个例子,假设原数组是a,差分数组是b,则有a[0] = b[0],b[1] = a[1] - a[0],b[2] = a[2] - a[1],....以此类推,假设初始化完差分数组的时候,如果我们需要得到a[2],那么就是a[2] = b[2] + b[1] + b[0]。主要的思路就是:用差分数组的思想将range数组里面的区间上的数都标记一遍,最后算答案的时候遍历,看[left, right]区间上的数是否有a[x] <= 0的,如果有,返回false,反之,返回True。这道题目是典型的差分数组,

2025-01-26 10:07:53 1534

原创 获取家里WiFi的一个小方法

输入命令:netsh wlsh show profile name="wife的名称" key=clear。(如果有亲戚朋友来家里玩,问你WiFi密码,你却不知道,很尴尬。此时用这个小方法来解决吧!关键内容那一行就是WiFi对应的密码!

2025-01-25 12:45:49 218

原创 Leetcode 2412. 完成所有交易的初始最少钱数<详细解释>

因此我们需要找到最坏的情况,因为如果最坏的情况都能满足,说明无论按照哪一种交易顺序都能够完成所有的交易。那么最坏情况怎么算呢?这个题目是一个贪心问题,可问题是怎么贪心呢?

2025-01-25 11:35:04 308

原创 Leetcode 2944. 购买水果需要的最少金币数

2,如果第二物品免费,那么第三个物品一定需要买,那么问题就变成了在购买了第三个物品的前提下,算出购买第三个物品及之后物品的所需最少的金币数。1,如果第二个物品购买,那么问题就变成了在购买了第二个物品的前提下,算出购买第二个物品及之后物品的所需最少的金币数。dfs(i)表示的是在购买了第i个物品的前提下,求出买第i个物品及以后的物品所需要的最少的金币数。这题需要用到动态规划的解法,首先寻找子问题,假设。

2025-01-24 16:13:42 253

原创 Leetcode 2218. 从栈中取出 K 个硬币的最大面值和--分组背包

因此可以将每一个栈的前缀和算出来,假设前缀和数组为s,那么每一个栈对应一个s。假设栈里面的金币的个数为n,那么就有n个前缀和,这n个前缀和是互不相容的,也就是至多选择一个,再把每一个栈看成是一个组!这不就是分组背包吗?以上是分组背包的定义和代码,接下来是这一题的代码,用到的算法是记忆化搜索,如果在学习动态规划算法感觉很难,就先学习记忆化搜索,在慢慢的进阶到动态规划的递推解法!这题乍一看以为是数据结构,结果是动态规划,题目说的是从每一个栈里面删除金币并且加入自己的钱包里。

2025-01-23 10:37:29 200

原创 Leetcode 1561. 你可以获得的最大硬币数目

这是一个很明显的贪心问题,我只能取走第二大的数,那么我肯定希望第二大的数尽可能更大,因此可以先将数组进行排序处理(如果题目没有要求顺序问题,那么遇事不决先排序!以下是我的贪心解法(配图,字有点丑>_<)。

2025-01-22 12:04:51 112

原创 二叉树------遍历二叉树(含题目)

活着左、右子树皆为空。这个题一开始我有点不太会写,因为按照先遍历左子树,再遍历右子树的逻辑,那么就会同时加上左子树的叶子节点和右子树叶子节点的值,显然是不符合题意的。结果我发现我的点笨!这种方法比较好理解,就是用一个容器,将所有的节点的值通过遍历一遍二叉树后存储下来,然后进行排序去重操作,就能得到答案了。我认为,在看到一颗二叉树的时候,可能这颗二叉树有很多分支,很多节点,反正就是很复杂,很复杂的数。到这里就完结啦~~~~如果能把以上的题目都弄懂,那么对于二叉树有一定了解了,对于后面的学习会更加顺利,加油!

2025-01-18 17:58:10 792

原创 Leetcode 732. 我的日程安排表 III

这题考察的是对差分数组和(map 或 unordered_map)(c++),(SortedDict python)的运用。

2025-01-17 22:08:47 179

原创 Leetcode 3097. 或值至少为 K 的最短子数组 II

主要思路是:既然求的数最短子数组的长度,那么就用不定长滑动窗口,判断条件是当total>=k的时候,我们需要不断的将nums[left]移出去,看是否还是满足条件的,如果满足就记录下来,如果此时不满足了,那就需要加入新的''生命'',再进行判断。如果对滑动窗口不太了解的朋友,可以去写一下滑动窗口的踢单进行了解。果不其然,今天这道题是昨天的每日一题的进阶版,扩大了数据范围,因此我们昨天使用的暴力显然是过不了这题的。昨天我说我没想到如何处理按位或运算的消去,今天早上睡醒的时候,突然想到了一个方法(很神奇!

2025-01-17 09:47:59 148

原创 Leetcode 3095. 或值至少 K 的最短子数组 I

我感觉这是明天的每日一题需要解决的问题,这题其实定长滑动窗口也能做,不定长滑动窗口也能做,主要是解决上面的问题,但是我现在还没想到,所以今天用的是暴力来解决这个问题。主要思路是:定义一个全局变量,以每一个数作为起点,定义两重循环,不断的进行遍历就能得出答案了。如果看到有关于子数组的题目,那么一般要先考虑滑动窗口来进行解答。今天的题目是关于子数组的题目,我在之前的博客中提到过,但是我遇到了一个问题,

2025-01-16 10:32:50 119

原创 Leetcode 3066. 超过阈值的最少操作数 II

希望大家可以多掌握一些现成的数据结构,例如堆,栈之类的,这样解题速度会越来越快,越来越简洁!今天题目的考点十分清晰,就是考察我们对于最小堆的应用,然后对题目的要求进行模拟就可以得出答案了,值得一提到是,数据范围比较大,因此我们要注意将数据类型开成long long!

2025-01-15 09:29:24 120

原创 Leetcode 57. 插入区间

这个题目和那个题目很相似呢?就是前几天的合并区间,这两个题目可以说一模一样。如果没有想到解法的朋友->学习到两点!这就是多写题目的好处,看到题目就会有思路,继续加油!

2025-01-14 23:17:19 177

原创 Leetcode 3065. 超过阈值的最少操作数 I

总感觉python比c++简洁很多。以上用到的一些函数如果有朋友不知道用法,可以自己去了解并加以使用。以前我的写法是循环一次,但是现在发现还有很多更简洁的写法(以前的我还是太单纯了~)。找出数组中所有小于k的数,然后将他们统计起来,就是答案了。今天这个题目是一个简单题,主要思路是。

2025-01-14 08:49:38 123

原创 Leetcode 2270. 分割数组的方案数

今天的题目相对来说比较简单,就是一个前缀和的简单应用和if语句的判断,主要思路是:先将总和算出来,然后一次遍历每一个元素并加上他们的和,来进行判断计数,最后输出答案。以下是我的代码:(python)以后我会持续更新leetcode的题目,希望可以和广大朋友们一起学习!之前发现想的不够周到,没有贴题目,导致可能看起来有点云里雾里(以后都贴题目!

2025-01-13 21:32:53 117

原创 Leetcode 2275. 按位与结果大于零的最长组合

竟然冒出来一个"内存超过限制的错误",我第一个想法就是变量定义的太大或者是递归的深度太大了,(原本应该是2的24次方,但是我试了之后还是错误,因此我侥幸改成了20,结果还是错误,但是奇怪的是,在本地运行的时候却显示可以通过,当要提交的时候发现通过不了,有无大佬可以解释一个这个现象~~~)。我又又又参考了灵神的代码,发现我想的还是太复杂了。碰到位运算的题目,优先考虑每一位,看是否能找到思路或者规律,,然后再搜索!

2025-01-12 22:10:58 180

原创 Leetcode 3298. 统计重新排列后包含另一个字符串的子字符串数目 II

这个题是关于子字符串的题目,一般遇到这种类型的题目,就首先需要考虑滑动窗口。可以看出,如果word1越长,那么包含word2的概率就越大。那么就是“”越长越合法“,(可以去写一下灵神题集里面的滑动窗口题单)。

2025-01-11 21:39:34 200

原创 Leetcode 3270. 求出数字答案

这道题是一个简单题,但是细想一下,感觉又不是很简单(可能是我太菜了~),我的第一想法就是将所有的数字转化为列表,然后利用insert函数将所有要求满足,然后逐一比较,这是我的代码:(其中的一些代码可以定义函数实现,减少代码量)但是我对c++的一些库函数的调用不了解,因此我想不出如何用c++代码进行复现。因此我觉得这不是最好的解法。这个是根据题目的要求进行一次遍历,从最低位开始,如果其中的一位数字已经为0的话,那么在往后走,最小值也一定是0。,也就不需要计算了,于是退出循环。

2025-01-11 11:10:33 184

原创 Leetcode 56. 合并区间(差分数组解法)

发现 intervals = [[1,4],[5,6]] 这个样例过不了,苦思冥想了很久,也还是没有想出来~~~。这时看到一大佬的题解,才恍然大悟,需要对传统的差分数组进行进行一个变形,即将区间映射到原来区间的两倍,就可以解决相邻区间的问题。首先按照我的理解,差分数组可以很便捷的实现区间的整体加减某一个数,而这一题又是和区间有关的,因此可以想到差分数组来解答。不要局限于惯性思维!

2025-01-10 22:16:32 178 1

原创 A. Garland

思路:这题我是采用模拟写的(因为其他方法不会。)四个数,就只有可以把每一种情况都列出来,接着输出就行了,不用想的太复杂了....//期间,我创立了两个标记数组,用来维护我们的过程。

2023-03-26 20:43:01 100

原创 Find and Replacetime

变0还是 变成1,接着把该字符全部在str数组里描述为0或1,相邻的不能相同,即可。i++)//这不能初始化为0。这道题可以就是采用一个大一点的模拟进行遍历,开一个str数组 记录这个字符是。if (arr[i] == arr[0])//把他们都变成一样的0或1。str[0]= 0;//第一个字符定义为0或者1都可以。

2023-03-20 21:23:36 106

原创 xtu 1365 rotate

的矩阵,我们可以把矩阵看成内外两圈,我们可以把外圈按顺时钟或者逆时钟转动,每次转动90度。题目说可以把矩阵的外围元素按逆时针或者顺时针转圈,从而可以取得4个元素的最大值,个元素的累加和最大。请问最大子矩阵的元素累加和是多少?于是我们可以创立四个数组,用做每一个元素的移动,即可。的子矩阵,使得这个子矩阵。

2023-03-18 12:48:45 142 1

空空如也

空空如也

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

TA关注的人

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