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

经典简单双指针法

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

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

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

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

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

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

摸长度,避免无效旋转

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

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

通过高度差来进行判断

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

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

记住递归的结束条件,

使用回溯进行减法。

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

相关推荐
晊晌_h3 小时前
嵌入式从0到精通——数据结构总结[特殊字符]
数据结构·算法·排序算法
我找到地球的支点啦3 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
罗西的思考3 小时前
【OpenClaw具身硬件】ZeroClaw 源码阅读笔记(3)--- RAG
人工智能·算法·机器学习
浪里镖客4 小时前
位姿转换矩阵写法-个人习惯(计算机理解其实是相反的)
线性代数·算法·矩阵
小白羊丨7 小时前
如何诊断 Prompt 模板导致的效果下降?
人工智能·算法·prompt
OPEN-F8 小时前
C++11/14新特性精讲:移动语义与智能指针实战
开发语言·c++·算法
lisin-lee-cooper9 小时前
【leetcode658】有序数组找出k个最接近x的数
java·数据结构·算法
sunburn-9 小时前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法
智碳能碳管理平台9 小时前
工业能耗台账标准化:能碳管理系统的数据口径怎么设计
算法·能碳管理系统·智碳能碳管理平台·企业能碳管理系统·碳排放核算软件·绿色工厂申报saas·能碳管理平台
带多刺的玫瑰10 小时前
Leecode#15刷题之三数之和
算法·leetcode·职场和发展