热门搜索 :
考研考公
您的当前位置:首页正文

LeetCode 分类刷题 —— Two Pointers

来源:东饰资讯网

Two Pointers 的 Tips:

  • 双指针滑动窗口的经典写法。右指针不断往右移,移动到不能往右移动为止(具体条件根据题目而定)。当右指针到最右边以后,开始挪动左指针,释放窗口左边界。第 3 题,第 76 题,第 209 题,第 438 题,第 567 题,第 713 题,第 763 题,第 845 题,第 881 题,第 904 题,第 992 题,第 1004 题。
    left, right := 0, -1

    for left < len(s) {
        if right+1 < len(s) && freq[s[right+1]-'a'] == 0 {
            freq[s[right+1]-'a']++
            right++
        } else {
            freq[s[left]-'a']--
            left++
        }
        result = max(result, right-left+1)
    }
  • 快慢指针可以查找重复数字,时间复杂度 O(n),第 287 题。
  • 替换字母以后,相同字母能出现连续最长的长度。第 424 题。
  • SUM 问题集。第 1 题,第 15 题,第 16 题,第 18 题,第 167 题,第 923 题。
Title Solution Difficulty Time Space 收藏
Medium O(n) O(1) ❤️
Medium O(n) O(1)
Medium O(n^2) O(n) ❤️
Medium O(n^2) O(1) ❤️
Medium O(n^3) O(n^2) ❤️
Medium O(n) O(1)
Easy O(n) O(1)
Easy O(n) O(1)
Easy O(n) O(1)
Hard O(n) O(n) ❤️
Hard O(n) O(1) ❤️
Medium O(n) O(1)
Medium O(n) O(1) ❤️
Hard O(n) O(n) ❤️
Medium O(n) O(1
Medium O(n) O(1) ❤️
Easy O(n) O(1) ❤️
Easy O(n) O(1)
Easy O(n) O(1) ❤️
Medium O(n) O(1) ❤️
Easy O(n) O(1)
Medium O(n) O(1)
Easy O(n) O(1)
Easy O(n) O(1)
Easy O(n) O(1) ❤️
Easy O(n) O(1)
Easy O(n) O(1)
Easy O(n) O(n)
Easy O(n) O(n)
Medium O(n) O(1)
Medium O(n) O(1)
Easy O(n) O(n)
Medium O(n) O(1) ❤️
Medium O(n) O(1)
Medium O(n) O(1) ❤️
Medium O(n log n) O(n)
Hard O(n) O(1) ❤️
Medium O(n) O(n)
Easy O(n) O(n)
Medium O(n) O(1)
Medium O(n log n) O(1)
Medium O(n log n) O(1)
Medium O(n^2) O(n)
Easy O(n) O(1)
Medium O(n) O(n) ❤️
Easy O(n) O(1)
Medium O(n) O(1)
Hard O(n) O(n) ❤️
Medium O(n) O(1)
Medium O(n) O(1)
Top