【优选算法】滑动窗口 --(结合例题讲解解题思路)(C++)

【优选算法】滑动窗口 --(结合例题讲解解题思路)(C++)

目录

​编辑

1.什么是滑动窗口?

 2. 滑动窗口例题

 2.1 例题1:长度最小的子数组

 2.1.1 解题思路

 2.1.2 方法一:暴力枚举出所有的子数组的和

 2.1.3 方法二:使用 “同向双指针” 也就是滑动窗口来进行优化

 2.2 例题2:无重复字符的最长子串

2.2.1 方法一:暴力枚举+哈希表(判断字符是否重复出现)

2.2.2 利用规律,使用“滑动窗口”来解决


1.什么是滑动窗口?

滑动窗口是两个指针,向着一个方向,不会退,像一个窗口般的移动。

 2. 滑动窗口例题

 2.1 例题1:长度最小的子数组

[力扣-长度最小的子数组]https://leetcode.cn/problems/minimum-size-subarray-sum/description/ 

 2.1.1 解题思路

Read more

【狂热算法篇】完全背包异次元冒险:容量魔法觉醒,价值风暴来袭!

【狂热算法篇】完全背包异次元冒险:容量魔法觉醒,价值风暴来袭!

欢迎拜访:羑悻的小杀马特.-ZEEKLOG博客 本篇主题:轻轻松松拿捏完全背包问题呀!!! 制作日期:2026.03.04 隶属专栏:美妙的算法世界 目录 一·问题定义: 二·具体问题演示:  三·动态规划解答完全背包: 3.1非装满状态: 3.1.1状态定义: 3.1.2状态转移方程:   3.1.3初始化: 3.1.4返回值: 3.1.5填充dp表: 3.1.6非装满状态代码总结: 3.1.7非装满状态滚动数组降维优化:  3.2装满状态: 3.2.1状态定义: 3.2.2状态转移方程:  3.

By Ne0inhk
哈希表的介绍和使用

哈希表的介绍和使用

一.哈希表的概念   哈希又称散列,本质是通过一种键值对存储的高校组织方式。通过一个哈希函数,将数据的关键字直接映射到存储的数据中,实现快速的定位。   就像在图书馆中可以根据图书的编号来快速查找图书的位置。 二.直接定址法   直接借用关键字作为存储位置的下标, class Solution { public:     int first(string s) {         int count[26] = { 0 };         for (auto e : s) {             count[e - 'a']++;         }         for (size_t i = 0; i < s.size(); i++) {             if (count[s[i] - 'a'

By Ne0inhk
数据结构—顺序表

数据结构—顺序表

数据结构—顺序表 * 线性表 * 顺序表 * 概念与结构 * 顺序表和数组区别 * 分类 * 静态顺序表 * 动态顺序表 * 动态顺序表模拟实现 * 定义动态顺序表结构 * 顺序表初始化 * 顺序表销毁 * 顺序表打印 * 顺序表动态扩容 * 尾插 * 头插 * 尾删 * 头删 * 查找 * 指定位置之前插入 * 删除pos位置的数据 * 竞赛中的静态顺序表 * 静态申请数组 * 封装静态顺序表 * 动态顺序表--vector * 创建vector * size / empty * begin / end * push_back / pop_back * front / back * resize * clear * insert / erase * 仓库—代码总结 线性表 线性表(linear list)是

By Ne0inhk

108 个 Python 实战项目(附源码):告别 “卡壳”,练完能力轻松突破瓶颈

Python 实战项目精选:突破编程瓶颈的108个实战训练 通过系统性项目实践,可有效解决代码"卡壳"问题,提升算法设计、工程实现和调试能力。以下是精选的10类核心项目(附实现逻辑与源码获取方式),完整108项目源码见文末链接。 一、基础强化类(12项) * 实现任意进制转换:$b_{new} = \log_{k}(N) \cdot c$ * 正则匹配+自动化重命名 文件批量重命名工具 import os def batch_rename(path, pattern, new_name): for filename in os.listdir(path): if re.match(pattern, filename): os.rename(

By Ne0inhk