面试
yuqinjh
烽燧英东
展开
-
Longest Consecutive Sequence -- LeetCode
原题链接: http://oj.leetcode.com/problems/longest-consecutive-sequence/ 这道题是要求出最长的整数连续串。我们先说说简单直接的思路,就是先排序,然后做一次扫描,记录当前连续串长度,如果连续串中断,则比较是否为当前最长连续串,并且把当前串长度置0。这样时间复杂度是很明确,就是排序的复杂度加上一次线性扫描。如果不用特殊的线性排序算法,复转载 2018-01-21 19:18:44 · 131 阅读 · 0 评论 -
Surrounded Regions -- LeetCode
这个题目用到的方法是图形学中的一个常用方法:Flood fill算法,其实就是从一个点出发对周围区域进行目标颜色的填充。背后的思想就是把一个矩阵看成一个图的结构,每个点看成结点,而边则是他上下左右的相邻点,然后进行一次广度或者深度优先搜索。 接下来我们看看这个题如何用Flood fill算法来解决。首先根据题目要求,边缘上的'O'是不需要填充的,所以我们的办法是对上下左右边缘做Flood转载 2018-01-23 12:48:12 · 178 阅读 · 0 评论 -
康拓编码与解码
一、康托展开:全排列到一个自然数的双射X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0!ai为整数,并且0<=ai<i(1<=i<=n) 适用范围:没有重复元素的全排列二、全排列的编码:{1,2,3,4,...,n}的排列总共有n!种,将它们从小到大排序,怎样知道其中一种排列是有序序列中的第几个?如 {1,2,3} 按...转载 2018-03-02 23:08:50 · 5150 阅读 · 0 评论