
感悟
SomeOtherTime
这个作者很懒,什么都没留下…
展开
-
一种问题思考方式是假设存在解会确定一些必要条件
有些问题可以逆向思考,假设存在解会有什么必要条件,再证明这些是充分条件。原创 2022-12-16 14:26:11 · 106 阅读 · 0 评论 -
下层设计不应受上层(调用层)特性影响
不论数据库表结构、实体类、下层api的设计应该进可能通用,这样就能更好的解耦,具有更强的复用性、扩展性。这样设计类似有向无环图结构,树形结构。对于不同的上层调用情况可以添加对应的适配层。原创 2022-11-02 11:31:46 · 113 阅读 · 0 评论 -
Manacher算法
思路: Manacher算法在O(n)时间复杂度求所有回文子串。 思路为:当求后面某一位为中心时的回文子串时,对前面的回文字串信息的复用。类似KMP。本质还是动态规划。 考虑到回文子串长度还有奇数或偶数,需要对原字符串S进行预处理,插值为另一个字符串T(插值方式见网上资料)。当T中以原字符串的字符为中心时对应奇数子串,以插入的字符“#”为中心时对应偶数子串。之后在将T中包含的回文信息,转换回S的回文信息(从起始字符的对应关系和长度的对应关系,转换到原字符串的回文子串)。 参考:https://www原创 2021-08-13 00:15:07 · 118 阅读 · 0 评论 -
递归和循环
循环可以看成状态A转移到状态B,没有反馈。 递归可以看成状态A转移到状态B,有反馈。递归底层实现也是栈的形式。 递归的本质是可以看成 循环+栈 所以一些时候递归实现DP往往比循环实现DP容易。 ...原创 2021-04-06 16:19:25 · 153 阅读 · 2 评论 -
概率论有感
概率论反应出人的一种普遍思维方式:从过去发生事物的规律中归纳出常识,经验,定律(归纳)。再用这些归纳出的结论预测未来(演绎)。前半句可以对应参数估计,后半句对应通常的随机变量的概率计算(分布已知)。 在参数估计中,凭借大量的样本来估计概率函数的参数,其实不仅是参数,连分布也是通过大量的样本总结得到的。通过过去样本得到的分布,再来预测未来的样本。 另外还能看出,过去的样本因为是先观察到的,所以相...原创 2018-06-23 18:20:52 · 445 阅读 · 0 评论 -
dfs时序的问题
在dfs过程中如果A的结果基于B,但是A先于B求得了结果(比如dfs递归过程中B——>C——>A——>B),此时是基于一个不正确的B,得到了一个不正确的A。有时用到记忆化,或者BFS避免此类情况的发生。 题目: https://leetcode.com/problems/cat-and-mouse/ https://leetcode.com/problems/least-o...原创 2019-02-16 00:53:55 · 171 阅读 · 0 评论