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

经典简单双指针法

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

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

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

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

中等题,不好想,通过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防止越界问题。。

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

摸长度,避免无效旋转

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

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

通过高度差来进行判断

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

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

记住递归的结束条件,

使用回溯进行减法。

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

相关推荐
️是782 小时前
信息奥赛一本通—编程启蒙(3395:练68.3 车牌问题)
数据结构·c++·算法
Liangwei Lin3 小时前
LeetCode 118. 杨辉三角
算法·leetcode·职场和发展
计算机安禾3 小时前
【c++面向对象编程】第24篇:类型转换运算符:自定义隐式转换与explicit
java·c++·算法
鼠鼠我(‘-ωก̀ )好困3 小时前
leetGPU
算法
我星期八休息3 小时前
Linux系统编程—基础IO
linux·运维·服务器·c语言·c++·人工智能·算法
池塘的蜗牛3 小时前
A Low-Complexity Method for FFT-based OFDM Sensing
算法
故事和你914 小时前
洛谷-【图论2-1】树5
开发语言·数据结构·c++·算法·动态规划·图论
咖啡里的茶i4 小时前
视觉显著目标的自适应分割与动态网格生成算法研究
人工智能·算法·目标跟踪
paeamecium4 小时前
【PAT甲级真题】- String Subtraction (20)
数据结构·c++·算法·pat考试·pat