Skip to content

rush2catch/algorithms-leetcode

Repository files navigation

data-structures-and-algorithms

  • 1. Array

2. String

  2.1. 规则判断
    2.1.1. 判断字符串是否符合整数规则
    2.1.2. 判断字符串是否符合浮点数规则
    2.1.3. 判断字符串是否符合回文字符串规则
  2.2. 数字运算
    2.2.1.int和long类型表示整数范围有限,所以经常用字符串实现大整数与大整数相关的计算,需要模拟笔算过程
  2.3. 与数组操作有关的类型
    2.3.1. 数组相关的调整、排序等操作
    2.3.2. 快速排序的划分过程需要掌握和改写
  2.4. 字符计数
    2.4.1. 哈希表
    2.4.2. 固定长度的数字,c/c++(256), java(65535)
    2.4.3. 滑动窗口问题、寻找无重复子串问题(187. Repeated DNA Sequences),计算变位词
  2.5. 动态规划
    2.5.1. 最长公共子串
    2.5.2. 最长公共子序列
    2.5.3. 最长回文子串
    2.5.4. 最长回文子序列
  2.6. 搜索相关
    2.6.1. 广度优先搜索
    2.6.2. 深度优先搜索
  2.7. 高级算法和数据结构相关
    2.7.1. Manacher算法 - 最长回文子串问题
    2.7.2. KMP - 字符串匹配
    2.7.3. 前缀树结构
    2.7.4. 后缀树及后缀数组
  • 3. Linked List
    Easy
    • leet237 - Delete/Add Node in a Linked List
    • leet203 - Remove Linked List Elements
    • leet206 - Reverse Linked List
    • leet141 - Linked List Cycle
    • leet160 - Intersection of Two Linked List
    Medium
    Hard
  • 4. Hash Table
    Easy
    • leet1 - Two Sum
    • leet136 - Single Number
    • leet217/219 - Contains Duplicates I/II
    Medium
    Hard
  • 5. Tree
    Easy
    • Implement a Tree / Find a Node / Delete a Node / Insert a Node
    • Tree Traversal - in/pre/post order
    • leet226 - Invert Binary Tree
    • leet572 - Subtree of Another Tree
    Medium
    Hard
  • 6. Stack
    Easy
    • leet155 - Min Stack
    • leet232 - Implement Queues with Stack
    • leet225 - Implement Stack with Queues
    • leet20 - Valid Parentheses
    Medium
    Hard
  • 7. Binary Search
    Easy
    • Loop
    • Recursion
    Medium
    Hard
  • 8. Depth First Search
    Easy
    Medium
    Hard
  • 9. Breadth Fist Search
    Easy
    Medium
    Hard

About

basic data structure and algorithms implemented in python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages