会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Mingzijiang
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
下一页
2023年2月15日
算法随想Day13【二叉树】| LC102-二叉树的层次遍历(系列题目)、LC226-翻转二叉树、LC101-对称二叉树
摘要: 二叉树层次遍历的相关题目 102.二叉树的层序遍历 107.二叉树的层次遍历II 199.二叉树的右视图 637.二叉树的层平均值 429.N叉树的层序遍历 515.在每个树行中找最大值 116.填充每个节点的下一个右侧节点指针 117.填充每个节点的下一个右侧节点指针II 104.二叉树的最大深度
阅读全文
posted @ 2023-02-15 23:07 冥紫将
阅读(28)
评论(0)
推荐(0)
2023年2月14日
算法随想Day12【二叉树】| LC144、LC145、LC94-二叉树的前中后序遍历
摘要: LC144、LC145、LC94-二叉树的前中后遍历 二叉树递归遍历 比较容易实现 struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x = 0) : val(x), left(nullptr), rig
阅读全文
posted @ 2023-02-14 23:09 冥紫将
阅读(33)
评论(0)
推荐(0)
2023年2月13日
算法随想Day11【栈与队列】| LC239-滑动窗口最大值、LC347-前 K 个高频元素
摘要: LC239. 滑动窗口最大值 思路分析: 1、暴力出奇迹,对n个元素各遍历k次,记录最大值,复杂度O(n * k) 2、如果存在一种数据结构,能模拟滑动串口,且能提供pop()、push()、getMaxValue()三种接口,该题目就简单易得了。但现在不存在这样一种数据结构 3、使用优先级队列(大
阅读全文
posted @ 2023-02-13 22:41 冥紫将
阅读(40)
评论(0)
推荐(0)
2023年2月11日
算法随想Day10【栈与队列】| LC20-有效的括号、LC1047-删除字符串中的所有相邻重复项、LC150-逆波兰表达式求值
摘要: LC20. 有效的括号 做法和思路比较简单直接,没考虑代码的优化和简洁性 bool isValid(string s) { int i; int size = s.size(); stack<char> sta; for (i = 0; i < size; i++) { int ch = 0; if
阅读全文
posted @ 2023-02-11 09:27 冥紫将
阅读(28)
评论(0)
推荐(0)
2023年2月10日
算法随想Day9【栈与队列】| LC232-用栈实现队列 、LC225-用队列实现栈
摘要: LC232. 用栈实现队列 之前看过相关的实现方法,但在想具体实现上,还是略显冗余。 我的思路是,用一个标志位method记录当前是push或pop/top操作,如果有操作的更换,都进行一次栈元素转移,实则是多余操作。 Carl讲解,分别定义一个StaIn和StaOut,StaOut因为是用于pop
阅读全文
posted @ 2023-02-10 09:49 冥紫将
阅读(32)
评论(0)
推荐(0)
2023年2月9日
算法随想Day8【字符串】| LC28-实现 strStr() 、LC459-重复的子字符串
摘要: KMP算法 前缀是包含首字母,不包含尾字母的所有子串。 后缀是包含尾字母,不包含首字母的所有子串。 如有: 文本串 aabaabaaf 模式串 aabaaf 对模式串来说,其前后缀: | 前缀有 | 后缀有 | | | | | a | f | | aa | af | | aab | aaf
阅读全文
posted @ 2023-02-09 23:00 冥紫将
阅读(29)
评论(0)
推荐(0)
2023年2月8日
算法随想Day7【字符串】| LC344-反转字符串、LC541-反转字符串Ⅱ、JZ-替换空格、LC151-翻转字符串里的单词、JZ58II-左旋转字符串
摘要: LC344. 反转字符串 void reverseString(vector<char>& s) { int size = s.size(); int left = 0, right = size - 1; while (left < right) { s[left] ^= s[right]; s[
阅读全文
posted @ 2023-02-08 20:51 冥紫将
阅读(29)
评论(0)
推荐(0)
2023年2月7日
算法随想Day6【哈希表】| LC454-四数之和Ⅱ、LC383-赎金信、LC15-三数之和、LC18-四数之和
摘要: LC454. 四数之和Ⅱ 先按O(n^2)将4组分成两组后,再按照两数之和的做法即可。其中umap中存储的value值是key出现的次数。 int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vec
阅读全文
posted @ 2023-02-07 16:16 冥紫将
阅读(35)
评论(0)
推荐(0)
算法随想Day5【哈希表】| LC242-有效的字母异位词、LC349-两个数组的交集、LC202-快乐数、LC1-两数之和
摘要: 哈希表理论知识 C++常见的三种哈希结构 数组 set(集合) map(映射) 在C++中,set 和 map 分别提供以下三种数据结构,其底层实现以及优劣如下表所示: | 集合 | 底层实现 | 是否有序 | 数值是否可以重复 | 能否更改数值 | 查询效率 | 增删效率 | | | | | |
阅读全文
posted @ 2023-02-07 11:06 冥紫将
阅读(44)
评论(0)
推荐(0)
2023年2月4日
算法随想Day4【链表】| LC24-两两交换链表中的节点、LC19-删除链表的倒数第N个节点、LC160-链表相交、LC142-环形链表Ⅱ
摘要: LC24. 两两交换链表中的节点 有点像反转链表的思路,参考其中的思路,写出来了一个,但逻辑有点绕,而且对一条链表的开始的两个节点没有写出通用的代码。 我的思路是:设置虚拟头指针,curr从head开始,最后返回的是head->next Carl讲解思路:设置虚拟头节点dummyhead,curr从
阅读全文
posted @ 2023-02-04 17:32 冥紫将
阅读(33)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
下一页
公告