
Leetcode中等
monbling
这个作者很懒,什么都没留下…
展开
-
【Leetcode】3. 无重复字符的最长字串 (Java)
Leetcode 3. 无重复字符的最长字串题目描述解法:滑动窗口思想 题目描述 解法:滑动窗口思想 设置i,j两个指针,分别表示窗口的左边界和右边界。maxSize记录无重复字串的最大长度。 // An highlighted block class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(); Set set = new HashSet();原创 2021-04-06 12:10:57 · 76 阅读 · 0 评论 -
【Leetcode】 面试题 环路检测(Java)
题目描述: 给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。 快慢指针法思路: 设置两个指针,快的步长为2,慢的步长为1。如果链表中存在环路,那么快慢指针一定会在环内相遇。 这个题的关键是通过找到快慢指针相遇的点,得到一个关系式。 假设快慢指针在图中紫色的点相遇,那么此时慢指针所走的距离为a+b。快指针所走的距离为a+n(b+c)+b 。而快指针的距离应为慢指针距离的二倍,即a+n(b+c)+b = 2(a+b)⟹ a=c+(n−1)(b+c)。【这里需要证明快慢指针相遇时,慢指针一定在第一原创 2021-05-18 14:01:44 · 265 阅读 · 1 评论