摘要:
时间开销为O(k^n)的一类动态规划问题 阅读全文
摘要:
每日一练-区间合并与快速幂 阅读全文
摘要:
引子 之前周赛(第 390 场周赛记录-快手)时遇到一题(题干描述见下图,实现代码见周赛记录),需要保持容器元素的动态有序(即随着插入删除操作后列表始终是有序的)。尝试过很多数据结构或方案,如列表存储然后手动调用Arrays.sort()进行排序、使用优先队列实现大/小根堆的方式,但无一例外全部超时 阅读全文
摘要:
看的是 LeetCode 一位博主的总结,码住,写得不错。 二叉查找树 AVL树 在插入删除操作时对经过的路经节点进行递归平衡(balance方法,核心是判断左右子树之间的树高关系,然后调用对应的单/双旋转方法)。其他部分其实和BST 差不多一样的。 红黑树 阅读全文
摘要:
1. 每个字符最多出现两次的最长子字符串 给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该子字符串的 最大 长度。 示例 1: 输入: s = "bcbbbcba" 输出: 4 解释: 以下子字符串长度为 4,并且每个字符最多出现两次:"bcbbbcba"。 示例 2: 阅读全文
摘要:
什么是树状数组? 树状数组是支持单点修改和区间查询的、代码量小的数据结构。 事实上,树状数组能解决的问题是线段树(一棵二叉树,每个节点表示一个区间,并存储该区间的一些相关信息。线段树可以高效地进行区间查询和区间更新操作。不是本文重点)能解决的问题的子集:树状数组能做的,线段树一定能做;线段树能做的, 阅读全文
摘要:
导语 在网上找了很多 SpringBoot 相关的教程,要么是针对初学者面向实战入门的视频,要么基于面试但存在收费或不全面的问题……因此参考网上博客特此总结了一些可能常见的面试题,循序渐进,以问题为导向,以面试为场景进行学习/复习。 JavaGuide 提供的Spring 常见面试题总结可以去看,里 阅读全文