![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode
文章平均质量分 52
LeetCode刷题思路
zjruiiiiii
这个作者很懒,什么都没留下…
展开
-
LeetCode——3.无重复的最长子串
对应LeetCode题 题目: 在主串中要求不重复的子串的长度,首先想到的就是滑动窗口。但是想如何滑动是非常关键的。 我考虑用空间来换取时间。 定义不重复子串的开始位置为 start,结束位置为 end 随着 end 不断遍历向后,会遇到与 [start, end] 区间内字符相同的情况,此时将字符作为 key 值,获取其 value 值,并更新 start,此时 [start, end] 区间内不存在重复字符 无论是否更新 start,都会更新其 map 数据结构和结果 ans。 时间复杂度:O(n)原创 2021-11-29 16:33:07 · 754 阅读 · 39 评论 -
LeetCode—895.亲密字符串
leetcode对应题 此处有几个需要判断的点: 两个字符串长度不一致,返回false。例如:abcd和abc 两个字符串的字母出现不同次数不同,返回false。例如:abc和abd 在得知两个字符串的对应的字母个数相等,位置可能会不等,求出位置不等的个数有几个。如:abc和acb。如果有两个位置不同因此能够直接进行交换则为亲密字符串。若只有一个或者超过两个的字母位置不同,则肯定不是亲密字符串。如:abcd和abcb。或者abcde和acbed。 两字符串完全相同,判断是否存在某一字符出现两次以上,若存原创 2021-11-25 15:01:26 · 455 阅读 · 16 评论 -
剑指 Offer 03. 数组中重复的数字
题目:找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 算法思路:此算法称为原地交换。即首先将数组对应的索引i等于其对应的值,0对应0,1对应1…,索引与其值不相等时,需要进行交换,因为num数组中的值范围是0~n-1,并且有重复的值,因此肯定能交换至有一一对应的情况。当索引不断增大,却又有重复的数字,则一定能够找到该重复的数字。 图解:原创 2021-11-12 11:55:07 · 659 阅读 · 12 评论