每日简单算法题——————跟着卡尔

经典简单双指针法

就是要注意边界和空的这一点,不然用例过不去

二分查找的一个简单题,注意左闭右闭和左开右闭和左闭右开这些区间,注意这些边界的处理和对循环不变量的一些理解。

这一题不难,就是要注意给创建的数组进行给空间,不然无法对数组进行下标操作。

简单题,对链表进行两两交换,注意奇数和偶数节点的边界就行,还有注意保存需要的节点,否则交换后找不到节点;

中等题,不好想,通过fast指针找先进行n+1个,然后用慢指针进行记录要删除节点的前一个,再删除就行。fast到最后跟slow相差的节点数是n+1个,就是n的前一个

今日算法思想:环形链表,是一种数学推导,对链表进行环形检测,找到入口

哈希数组进行判断,先存值,在进行减值,判断是否一样,,,,前面先判断s是否等于t;

map的应用,主要思想还是哈希映射。

两数交集,也是哈希映射,主要是注意使用容器时别忘了类型

分而治之的思想,范围for的使用,map的哈希经典查找对比

去重使用哈希法较为麻烦,使用双指针比较好去重,对abc都要去重

滑动窗口。

双指针,+去重和剪枝

反转字符串

注意reverse的使用,迭代器进入

双指针用法,对resize和reverse的清晰认识

kmp算法,理解kmp的用法就行,

kmp算法。。

两栈实现一个队列

一个队列就行

栈模拟匹配,较简单

字符串模拟栈,来进行匹配问题,注意string不加类型;

栈匹配,遇到运算字符就出来运算

stoi 函数:将字符串转成 int 整数。

stol 函数:将字符串转成 long 整数。

stoll 函数:将字符串转成 long long 整数。

滑动窗口部分较简单,最主要是单调栈的实现,push和pop函数

前k个高频元素,单调队列和小顶堆的使用,小顶堆存k个数,

前序遍历,递归,注意使用&传值,引用传值是对vector取一个别名,作用域一直在,不加的话就是对值的拷贝,出作用域就消失了。

层序遍历,队列实现,主要是记录队列中元素的大小;

对称二叉树,

要先赋值v防止越界问题。。

注意是遍历到根节点最近的最小节点,要判断左右子树是否存在空的情况;

摸长度,避免无效旋转

递归写法,后序遍历,下面利用完全二叉树法进行判断,时间更优

判断每棵树是不是完全二叉树;

通过高度差来进行判断

旋转方块已经做过了,主要是用双端队列进行遍历数据

回溯的使用,找叶子节点的路径

记住递归的结束条件,

使用回溯进行减法。

中后找,注意返回值,注意切分就行。

相关推荐
UIU11427 分钟前
P16237 [蓝桥杯 2026 省 B] 应急布线
数据结构·c++·算法·蓝桥杯
旖旎夜光30 分钟前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
像风一样自由202039 分钟前
2.如何用FastAPI把一个Python算法封装成HTTP服务
python·算法·fastapi
D e re k ZH1 小时前
保序回归:从 PAVA 到可并堆的单调约束优化
c++·算法·数据挖掘·回归·kotlin
青少儿编程课堂1 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:字典树前缀树与单词检索统计
c++·python·算法·bfs·信息学竞赛
Nuanyt1 小时前
LeetCode Hot 100 链表专题2 3 题 (Java)
java·笔记·算法·leetcode·链表
海绵宝宝转agent2 小时前
LeetCodehot100题解
java·笔记·学习·算法·leetcode·深度优先
青少儿编程课堂2 小时前
2026蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:堆排序与优先队列解析
c++·python·算法·bfs·信息学竞赛
SZYSK2 小时前
OpenHarmony 上读卡、推理和双屏刷新抢 CPU:核验机与消费机的调度差
物联网·算法·harmonyos·1024程序员节
Ivanqhz3 小时前
MoE + LLM 应用
数据库·人工智能·pytorch·python·深度学习·算法·1024程序员节