滑动窗口与双指针
一、定长滑动窗口
核心特征
在长度为 n 的字符串/数组中,寻找长度为 k
且满足特定极值条件的子数组
复杂度对比
暴力解法:遍历所有子数组 ⇒
滑动窗口:动态维护窗口 ⇒
实现要点
窗口维护机制
使用双指针(左右指针)或枚举右端点维护左端点
始终保持窗口长度
增量更新:处理新进入元素和被移出元素
标准操作流程
12345while 右指针未越界: 新元素入窗 → 更新指标值 if 窗口大小达到 k: 更新全局极值 旧元素出窗 → 修正指标值
例题 1456.
定长子串中元音的最大数目
给定字符串 s 和整数
k,返回长度为 k
的子串中元音字母的最大数量(元音字母:a, e, i, o, u)
123456789101112131415161718192021222324// 灵茶山艾府答案class Solution {public: int maxVowels(string s, int k) { int ans = 0, vowel = 0; for (int i = 0 ...
Markdown是什么?
MD是一种极简主义的纯文本语法,文件以.md结尾
为什么要用markdown?
较于 Word, 兼容性非常高,且更为高效。
可以跨平台使用。
有许多网站都支持或正在使用 Markdown 语法。
可以使用Markdown记录笔记,做博客,胜任github等代码托管平台的readme.md等大部分文字工作
如何使用Markdown?
pc端
网页:飞书,有道云笔记,坚果云等
vscode + Markdown All in One
支持Markdown的笔记软件,如notion,印象笔记,有道云笔记
marktext
typora(收费软件)
安卓端
支持Markdown的笔记软件,如notion,印象笔记,有道云笔记,椒盐笔记等
docker
思源笔记
为知笔记
简单语法
标题
使用#来创建不同字号,大小标题
123456# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题
简单文字处理
1234*斜体* 或 _斜体_**粗体** 或 __粗体__***粗斜体*** 或 ___粗斜体___~~删 ...
GDB学习
本篇文章是GDB
debugging tutorial for
beginners学习实践记录,若内容有误,恳请指正!
本篇文章需要Linux 环境
### 安装gdb build-essential gcc
如果没有相应软件 可以执行一下命令(Ubuntu)
1hsudo apt install gdb build-essential gcc
验证安装
1gdb --version && gcc --version
编译文件
比如我们可以编写一个c程序,命名为test.c,代码如下
1234567891011121314151617181920int actual_calc(int a, int b){ int c; c=a/b; return 0;}int calc(){ int a; int b; a=13; b=0; actual_calc(a, b); return 0;}int main(){ calc(); return 0;}
使用gcc编译
使用 -ggdb
生成调试符号在可执行文件中,以便调试
使用 ...
笔记本780M部署deepseek-r1指北
目录
安装 ROCm,ollama,Page
Assist
下载安装AMD HIP SDK
替换编译文件
安装ollama-for-amd
安装deepseek-r1
安装Page Assist扩展
参考文献
1. 安装 ROCm,ollama,Page
Assist
1. 下载安装AMD HIP SDK
进入AMD官网,下载AMD
HIP SDK for Windows并安装(目前2025年2月8日,为6.2.4版本)
特殊说明
由于780M不在支持列表内,需自行编译或使用第三方编译的rocBLAS:
自行编译:Windows下编译rocBLAS指南
第三方编译版本:ROCmLibs-for-gfx1103
2. 替换编译文件
使用编译文件包:rocm.gfx1103.AMD.780M.phoenix.V5.0.for.hip.sdk.6.2.4
操作步骤:
在文件管理器中输入 %HIP_PATH%
重命名原文件:
%HIP_PATH%/bin/rocblas.dll →
rocblas.dllbak
%HIP ...
目录
1. Git简介
1.1 什么是Git
1.2 Git的作用
2. 安装与配置
2.1 安装步骤
2.2 基本配置
3. 基本命令
3.1 仓库初始化
3.2 添加与提交
3.3 状态与历史操作
4. 分支管理
4.1 分支基本操作
4.2 合并与冲突
5. 远程仓库
5.1 克隆与推送
5.2 远程分支操作
6. 常用技巧
6.1 重写历史
6.2 标签使用
7. 资源推荐
1. Git简介
1.1 什么是Git
是用来进行版本管理的工具
1.2 Git的作用
可以将仓库的文件拉取到本地,也可以提交到仓库
进行版本管理,进行代码审查,防止事故发生
事故发生后,及时回滚,确定责任
1.3 相关术语
工作区:本地修改文件的目录。
暂存区:通过 git add
暂存的文件区域。
仓库:通过 git commit
提交的代码版本库。
2. 安装与配置
2.1 安装步骤
Ubuntu : apt install git
windows : 下载对应的安装包
macOS :
使用 Homebrew:brew install git
或下载官方安装包 Git ...