- 博客(3)
- 收藏
- 关注
原创 Leetcode 234. 回文链表 快慢指针+链表逆序实现O(n)时间复杂度且O(1)空间复杂度
文章目录题目要求解题思路代码复杂度分析工作之余刷刷题写写题解,我的Leetcode主页题目要求判断一个链表是否为回文链表。解题思路不限制时间复杂度的情况下是非常简单的题目,可以有多种方法完成本题。如果限制了O(n)O(n)O(n) 时间复杂度且 O(1)O(1)O(1) 空间复杂度那么可以按照以下思路。链表题中看到 O(n)O(n)O(n) 时间复杂度且 O(1)O(1)O(1) 空间复杂度可以考虑快慢指针就相当于数组题看到 O(n)O(n)O(n) 时间复杂度且 O(1)O(1)O(1) 空间
2020-11-26 02:43:53
288
原创 Leetcode 3.无重复字符的最长子串 字典记录每个字符最后出现的位置
文章目录题目要求解题思路代码复杂度分析题目要求给定一个字符串,求不含有重复字符的最长子串的长度解题思路题目需要找最长的无重复子串,既然是连续子串,那么可以考虑子串的结尾位置,用来代表一段子串。为了达到不重复,我们可以用字典来做到去重的效果。具体做法如下:定义 longestlongestlongest, endendend 分别记录最长子串的结果和上一次出现重复字符的最后一个位置如果新的字符在字典中,那么 endendend 需要更新为 maxend,dic[c]\max{}{end,
2020-11-26 02:34:36
292
原创 回溯问题Python框架总结——排列组合问题
本文是对 leetcode 回溯题的一些模板进行整理总结,很多关于回溯的 blog 都会引用对回溯算法的 official definition 和通用的解题步骤,如果是真的想研究这一算法思想,按照这样的方式来完全没有问题。不过个人觉得如果仅仅只是为了应试,那么掌握一些解题的模板会更直接的帮助理解回溯的算法思想。本文将举一些简单的例子来说明这些模板,不采用树来描述,使得对于数据结构不太了解的读者也相对友好。文章目录基本思想:常见模板:1、无重复元素的全排列问题(或者有重复元素但是不需要去重)2、有重复元素
2020-11-26 01:58:16
861
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人