240 投稿
收录了54篇文章 · 1人关注
  • 编辑距离--最长公共子串长度

    最长公共子串作为编辑距离中的一种,只允许增加、删除字符两种编辑操作。最长公共子串的大小,表示两个字符串相似程度的大小。 从 a[0] 和 b[0...

  • 编辑距离--莱文斯坦距离

    编辑距离:将一个字符串转化成另一个字符串,需要的最少编辑操作次数(比如增加一个字符、删除一个字符、替换一个字符)。编辑距离越大,说明两个字符串的...

  • 回溯算法--八皇后问题

    8x8 的棋盘,8 个棋子(皇后),每个棋子所在的行、列、对角线都不能有另一个棋子

  • Resize,w 360,h 240
    Trie 树

    也叫“字典树”。顾名思义,它是一个树形结构。它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。其中,根节...

  • 堆--求中位数

    针对动态数据,求排序后处于中间的数据思路:维护两个堆,一个大顶堆,一个小顶堆。大顶堆中存储前半部分数据,小顶堆中存储后半部分数据,且小顶堆中的数...

  • 堆--Top K

    求数组中前k大的数据思路:维护一个数据大小为k的小顶堆,循环遍历数组,如果比堆顶元素大,我们就把堆顶元素删除,并且将这个元素插入到堆中;如果比堆...

  • Resize,w 360,h 240
    跳表

    跳表的基本结构: Redis为什么使用跳表实现有序集合? 1.redis的有序集合中有一个很重要的操作是,按照区间查找数据。跳表可以做到 O(l...

  • 递归--爬楼梯

    假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?思路:n阶第一步踏出的时候,...

  • 队列--滑动窗口最大值

    给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右...

  • 队列--设计循环双端队列

    设计实现双端队列。你的实现需要支持以下操作:MyCircularDeque(k):构造函数,双端队列的大小为k。insertFront():将一...

专题公告

学习数据结构与算法的一些整理,以备后续查看
代码使用Java实现