- 博客(12)
- 收藏
- 关注
原创 代码随想录 Day1|704.二分查找,27.移除元素,977.有序数组的平方, 209.长度最小的子数组
核心思想,数组本身是有序的,因此平方后整个数组最大值要么在最左边,要么在最右边,然后赋值给新数组,原数组首尾比较结果移动,不断重复即可。主要注意左闭右开还是左闭右闭,可以参考。977.有序数组的平方。209.长度最小的子数组。
2025-07-10 20:44:44
209
原创 二分 蓝桥杯
对于这道题,要计算 n!(n的阶乘)中末尾零的个数。末尾零的产生依赖于因子10,而因子10可以分解为2和5的乘积。中因子2的数量通常远大于因子5的数量,因此计算末尾零的关键在于统计n!需要明确,对有序数组b[n],我们要找到第一个大于target的数,可用如图模板(我喜欢选择左闭右闭区间)
2025-04-09 19:41:08
200
原创 DFS 加剪枝优化 蓝桥杯
/当前重量加上后续所有瓜的重量都满足不了所需。剪枝操作: if(cnt>=ans) return;//切瓜次数大于已有答案。
2025-04-08 21:40:12
187
原创 蓝桥杯 全球变暖 详细解释 dfs和bfs两种解答 适合新手 bfs一般模板
题目描述:由于全球变暖导致海面上升,科学家预测未来几十年内,岛屿边缘的一个像素范围将会被海水淹没。具体来说,如果一块陆地像素(用“#”表示)与海洋像素(用“.”表示)相邻(即上下左右四个相邻像素中有海洋),这块陆地就会被淹没,变成海洋。给定一个N×N的海域照片,你需要计算根据科学家的预测,照片中会有多少岛屿被完全淹没。输入描述:第一行包含一个整数N(1≤N≤1000),表示海域照片的尺寸。接下来N行,每行包含N个字符,表示海域照片,其中“#”表示陆地,“.”表示海洋。
2025-04-08 21:21:14
1310
原创 dfs理解 五子棋对弈
dfs(num+1);这一步相当于说每个位置可以是白棋,也可以是黑棋,可以全部是黑棋,全部是白棋,check里面会进一步判断。换算坐标那一步值得学习,相当于从第0行开始,遍历0-4列,再到第二行,继续遍历。事先说明,这道题的代码是别人的ac代码,感觉写的很优美,很暴力,记录学习一下。
2025-04-01 17:58:02
356
原创 位运算 蓝桥杯例题
反码求原码 ,先看符号位判断正负,若正,则原码反码相同,若负,除符号位外按位取反加1得原码。(补码的补码)举例:反码 1010 ①负数 ②取反加一 1110 所以是 -6。异或(^)a^=b b^=a a^=b 可以实现a与b的交换。题目描述:(2 3 4每步操作完n的值也发生了改变)求二进制最低位的1 x&-x。
2025-03-30 22:31:02
420
原创 二维前缀和 二维差分
首先要明确:原数组求前缀和得到前缀和数组,原数组求差分得到差分数组,对差分数组求前缀和得到原数组,对前缀和数组求差分得到原数组。
2025-03-27 15:17:15
633
原创 一维前缀和与差分
原数组记为a[i],设差分数组b[i]=a[i]-a[i-1]。我们要满足把数组都变成1,即要相当于要把差分数组变为 1 0 0 0 0....的显示。我下面代码的核心在于计算每个位置新增了多少“高度”。在转换为差分数组 b 之后,每一个 b[i] > 0 的地方都表示“当前元素比前一个更高”,我们就需要额外的操作来填补这个升高的部分。换句话说:每一个正的差分,都是我们“新增的高度”,必须做相应的操作来减少。关键在于理解好差分数组的前缀和就是原数组,对差分数组第i项+j,原数组自第i项起每一项都会+j。
2025-03-26 20:43:30
1067
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅