会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
spacerunnerZ
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
4
5
6
7
8
2022年12月4日
玩转双指针
摘要: 一、算法简介 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 若两个指针指向同一数组,但是遍历方向相反,则可以用来进行搜索,待
阅读全文
posted @ 2022-12-04 11:54 blogzzt
阅读(59)
评论(0)
推荐(0)
2022年12月3日
广度优先搜索(BFS)应用——层序遍历和最段路径
摘要: BFS模板: BFS使用队列,把每个还没有搜索到的点依次放入队列,然后再弹出队列的头部元素当做当前遍历点。BFS总共有两个模板: 模板1:如果不需要确定当前遍历到了哪一层,BFS模板如下。 1 while queue 不空: 2 cur = queue.pop() // 弹出队列的头部元素当做当前遍
阅读全文
posted @ 2022-12-03 17:45 blogzzt
阅读(213)
评论(0)
推荐(0)
2022年12月1日
从《打家劫舍》入门动态规划
摘要: 一、入门 动态规划的的四个解题步骤是: 定义子问题 写出子问题的递推关系 确定 DP 数组的计算顺序 (DP 数组也可以叫”子问题数组”,因为 DP 数组中的每一个元素都对应一个子问题。) 空间优化(可选) class Solution { public: int rob(vector<int>&
阅读全文
posted @ 2022-12-01 23:57 blogzzt
阅读(33)
评论(0)
推荐(0)
2022年11月24日
C/C++语言 ++i 与 i++ 区别
摘要: 记忆小技巧,看 ++ 的位置,如果 ++ 在前,就是先自加,再赋值,如果 ++ 在后,就是先赋值再自加。 #include<stdio.h> int main() { int i = 0; int j = ++i; printf("i=%d\tj=%d\n", i, j); return 0; }
阅读全文
posted @ 2022-11-24 23:51 blogzzt
阅读(98)
评论(0)
推荐(0)
2022年10月27日
验证二叉搜索树——采用中序遍历解决
摘要: 在做98. 验证二叉搜索树时,解决思路是中序遍历,判断当前节点是否大于中序遍历的前一个节点,如果大于,说明满足 BST,继续遍历;否则直接返回 false。 下面是中序遍历的非递归实现,借助了栈结构:
阅读全文
posted @ 2022-10-27 23:59 blogzzt
阅读(104)
评论(0)
推荐(0)
上一页
1
···
4
5
6
7
8
公告