当前位置:首页 > 搜索 "指针"

牛客网14778题:滑动窗口巧解字符串最大连续子串问题

4天前67
牛客网14778题:滑动窗口巧解字符串最大连续子串问题
指针)算法,核心思想是:维护一个可变窗口,统计窗口中非目标字符的数量当替换成本超过m时,移动左指针缩小窗口始终保持窗口内替换成本不超过m,同时记录最大窗口大小三、解题步骤初始化左右指针left和right都指向字符串开头右指针right逐步向右移动扩展窗口遇到非目标字符时增加替换成本cost当cos...

洛谷P8650题(2017年蓝桥杯省A):递归下降法解决正则问题

2周前 (08-20)76
洛谷P8650题(2017年蓝桥杯省A):递归下降法解决正则问题
指针pos因子解析:遇到x时计数并移动指针遇到(时递归解析子表达式项解析:通过|比较多个因子的最大值表达式解析:作为语法分析的顶层入口四、完整代码#include <iostream>#include <string>#include &......

力扣2012题:双指针解法详解

2周前 (08-16)71
力扣2012题:双<strong><mark>指针</mark></strong>解法详解
指针预处理技术:左数组预处理:存储每个位置左侧最大值右数组预处理:存储每个位置右侧最小值并行校验:同时检查两种美丽值条件该方法将O(n²)暴力解法优化为O(n)时间复杂度,空间复杂度O(n)三、解题步骤拆解初始化左右辅助数组从左到右遍历构建left_max数组从右到左遍历构建right_min数组....

洛谷P1324题:贪心算法解决矩形分割问题

3周前 (08-12)75
洛谷P1324题:贪心算法解决矩形分割问题
指针分别指向当前最大的横切和竖切代价,每次选择较大的那个进行"切割":选择横切时,总代价增加"当前竖切块数×该横切代价"选择竖切时,总代价增加"当前横切块数×该竖切代价"4.块数更新每次切割后更新相应的块数:横切会增加行块数竖切会增加列块....

牛客3735题丑数:从暴力枚举到动态规划优化

3周前 (08-11)76
牛客3735题丑数:从暴力枚举到动态规划优化
指针跟踪:维护三个指针,分别记录下一个丑数可能由哪个数乘以2、3或5产生最小值选择:每次选择三个可能值中的最小值作为下一个丑数三、算法步骤详解初始化:创建数组存储丑数序列,第一个元素为1初始化三个指针p2、p3、p5都指向第一个丑数生成过程:计算ugly[p2]*2、ugly[p3]*3、ugly[...

洛谷P2381题:双指针解决圆形奶牛间距的问题

1个月前 (07-31)86
洛谷P2381题:双<strong><mark>指针</mark></strong>解决圆形奶牛间距的问题
指针法‌:滑动窗口寻找满足条件的最大距离‌距离计算‌:对于任意两点,计算顺时针和逆时针距离取最小值三、完整代码#include <iostream>#include <vector>#include <algorithm>......

牛客25665题:从层序和中序遍历重建二叉树

1个月前 (07-23)1465
牛客25665题:从层序和中序遍历重建二叉树
指针。三、核心算法实现3.1二叉树重建函数TreeNode* build(vector<int>& level, vector<int>& in,     &nbs......

尾插法实现的树结构:链表式多叉树实现详解

1个月前 (07-22)941
指针实现尾插法添加子节点‌树类设计‌:预分配节点数组提供根节点设置方法实现父子关系建立支持节点数据赋值‌遍历打印‌:递归深度优先遍历打印树结构四、完整代码和注释#include<iostream>using namespace std;// 链表......

力扣面试02.05题解:链表数字相加的完整实现指南

1个月前 (07-18)104
力扣面试02.05题解:链表数字相加的完整实现指南
指针        int carry = 0; // 进位标志        ......

力扣2576题解:巧用双指针解决最大标记下标问题

1个月前 (07-17)105
力扣2576题解:巧用双<strong><mark>指针</mark></strong>解决最大标记下标问题
指针技巧‌:将数组分为两半,使用双指针匹配‌贪心策略‌:每次尽可能匹配最小的可行对,以留出更多匹配机会三、实现详解‌排序数组‌:使用sort函数对输入数组排序‌初始化指针‌:left指向前半部分,right指向后半部分‌匹配过程‌:检查2*nums[left]<=nums[right],满.....

2023年GESP四级田忌赛马(洛谷B3928题):从田忌赛马学贪心算法

1个月前 (07-17)125
2023年GESP四级田忌赛马(洛谷B3928题):从田忌赛马学贪心算法
指针策略,以最优方式匹配双方马匹。二、完整代码解析(含详细注释)#include <iostream>#include <vector>#include <algorithm>using namespace&nb......

力扣1855题详解:双指针法解两个数组的最大距离问题

2个月前 (07-16)126
力扣1855题详解:双<strong><mark>指针</mark></strong>法解两个数组的最大距离问题
指针法高效解决:利用两个指针i和j分别遍历两个数组始终保持i<=j的约束条件当nums1[i]<=nums2[j]时,计算当前距离并尝试更大的j否则移动i指针寻找更小的nums1[i]三、完整代码解析class Solution {public:&nb......

2023年蓝桥杯省赛B组整数删除(洛谷P12085):优先队列+双向链表解法

2个月前 (07-14)118
2023年蓝桥杯省赛B组整数删除(洛谷P12085):优先队列+双向链表解法
指针    // 重载运算符用于set排序    bool operator<(const Node& other) const {&......

力扣面试17.21题解:接雨水问题的双指针最优解

2个月前 (07-13)121
力扣面试17.21题解:接雨水问题的双<strong><mark>指针</mark></strong>最优解
指针法:使用左右指针从两端向中间移动维护左右两边的最大值根据较小的一边计算当前能接的雨水量移动较小值的指针继续计算三、完整代码实现(带详细注释)#include <vector>#include <algorithm>using name......

牛客3747题解:二叉树序列化与反序列化完全指南

2个月前 (07-12)121
牛客3747题解:二叉树序列化与反序列化完全指南
指针检查        stringstream ss(str);  // 从字符串初始化流      &nbs......

指针法解决力扣922题:按奇偶排序数组II的完整指南

2个月前 (07-11)116
双<strong><mark>指针</mark></strong>法解决力扣922题:按奇偶排序数组II的完整指南
指针法,分别维护两个指针:even指针:负责扫描偶数索引位置odd指针:负责扫描奇数索引位置当发现偶数索引位置是奇数,且奇数索引位置是偶数时,交换这两个位置的元素。三、完整代码解析class Solution {public:    ......

牛客网235698题:用滑动窗口寻找最多包含两种字符的最长子串

2个月前 (07-09)511
牛客网235698题:用滑动窗口寻找最多包含两种字符的最长子串
指针技巧‌:left和right指针分别表示窗口的左右边界‌窗口调整逻辑‌:当哈希表中记录的字符种类超过2时,移动左指针每次移动左指针时,减少对应字符的计数如果字符计数减到0,从哈希表中移除该字符五、总结滑动窗口算法是解决子区间问题的利器,通过双指针和哈希表的配合,能够高效地处理字符串和数组问题。掌...

头插法实现的树结构:链表式多叉树实现指南

2个月前 (07-01)120
指针实现头插法添加子节点3‌.树类设计‌:预分配节点数组提供根节点设置方法实现父子关系建立支持节点数据赋值4‌.遍历打印‌:递归深度优先遍历打印树结构四、完整代码和注释#include<iostream>using namespace std;//&nbs......

C++自定义字符串类实现指南:从零开始打造String类

2个月前 (06-30)107
指针存储字符串整型变量记录长度‌2.构造函数和析构函数‌:默认构造空字符串从C字符串构造自动释放内存‌3.基本功能实现‌:获取长度字符串复制字符串输出4‌.运算符重载‌:相等和不等比较字符串连接下标访问四、完整代码和注释#include<iostream>#include<cs.....

蓝桥杯2024省赛B组拔河问题:前缀和与双指针解法详解

2个月前 (06-28)147
蓝桥杯2024省赛B组拔河问题:前缀和与双<strong><mark>指针</mark></strong>解法详解
指针扫描:寻找不相交区间的最小差值三、完整代码解析(带注释)int main() {    ios::sync_with_stdio(false);  // 关闭同步提升IO速度  ......