随笔分类 -  力扣

摘要:单调队列 今天刷力扣,碰到一道关于单调队列的题,总结一下 239. 滑动窗口最大值 单调队列思想: 队列没有必要维护窗口里的所有元素,只需要维护有可能成为窗口里最大值的元素就可以了,同时保证队列里的元素数值是由大到小的。 单调队列不是单纯的给队列中元素排序,那和优先级队列没有什么区别了。 设计时要注 阅读全文
posted @ 2021-11-03 16:50 CJ-cooper 阅读(181) 评论(0) 推荐(0) 编辑
摘要:哈希表 242. 有效的字母异位词 func isAnagram(s string, t string) bool { var m [26]int for _,v:=range s{ m[v-'a']++ } for _,k:=range t{ m[k-'a']-- } for _,w:=range 阅读全文
posted @ 2021-10-24 01:18 CJ-cooper 阅读(190) 评论(0) 推荐(0) 编辑
摘要:203.移除链表元素 力扣链接 创建一个虚拟头节点 func removeElements(head *ListNode, val int) *ListNode { p:=&ListNode{} p.Next=head q:=p for p!=nil&&p.Next!=nil{ if p.Next. 阅读全文
posted @ 2021-09-28 20:29 CJ-cooper 阅读(225) 评论(0) 推荐(0) 编辑
摘要:704. 二分查找 力扣链接 注意边界问题 func search(nums []int, target int) int { r,l,mid:=0,len(nums)-1,(len(nums)-1)/2 for l>=r{ mid = (r+l)/2 if nums[mid]==target{ r 阅读全文
posted @ 2021-09-24 17:19 CJ-cooper 阅读(105) 评论(0) 推荐(0) 编辑
摘要:516.最长回文子序列 题目 思路 回文子序列都是动态规划经典题目,用从Carl哥那里学来的动态规划五部曲: 确定dp数组以及下标的含义 确定递推公式 dp数组如何初始化 确定遍历顺序 列举推导dp数组 确定dp数组以及下标的含义 dp[i] [j]:字符串s在[i, j]范围内最长的回文子序列的长 阅读全文
posted @ 2021-09-14 20:27 CJ-cooper 阅读(242) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示