用户头像

Kenn

忘记密码 记住我

2018.3.9 加入

Démon de Laplace
关注
  • 5

    发布数

  • 0

    关注者

  • 0

    关注了

Boyer-Moore 算法

今天在做 Leetcode 上的这道找到数组中的 majority element(https://leetcode.com/problems/majority-element/) 题目时候,发现了一个有意思的算法,Boyer-Moore 算法,可以在不借助哈希表和排序的情况下,以 O(N) 的时间复杂度来解决这个问题。

动态规划问题的思路和技巧

动态规划是算法中最常见的一类问题之一,其解题思路常常为,将大问题分解为小问题,并且建立起通过解决小问题到解决大问题的对应关系来得到最终的答案,一旦找了分解问题和合并小问题答案的方程,问题本身就迎刃而解。

判断链表是否有环

判断单链表是否有环,以及环的长度和环开始的地方是常见的面试题,基本上这种问题的解决思路就是快慢指针,这里我们介绍下 Brent's Cycle Detection Algorithm, 思路其实就是快慢指针,但是略有不同。

二叉树先序中序后序的非递归实现

上一篇中我们讲到对于递归形式的实现,无论是先序、中序还是后序,代码都是统一形式,区别无非就是处理节点的函数位置不同,那么对于非递归的形式,是否也有统一的实现方式呢?

二叉树的先序中序后序递归实现

二叉树常见的遍历方式有三种(除去 Level Traversal,也就是广度优先遍历),分别为先序遍历,中序遍历和后序遍历,而实现方式既有递归的实现方式也有非递归的实现方式。当然,递归的实现方式是最简单的。

Kenn