剑指offer
price99
这个作者很懒,什么都没留下…
展开
-
剑指offer
#二维数组查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 ##题解:主要在从右上(或者左下)找,这样可以一次排除一行或者一列,而左上和右下不行 class Solution { public: bool Find(int targe...原创 2018-08-09 00:16:45 · 79 阅读 · 0 评论 -
旋转数组中最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 ##题解 顺序查找O(log(n)),效率快的用二分(变形二分)。 旋转数组有两非减序列组成,非减序列交界的右侧为最...原创 2018-08-09 00:47:56 · 79 阅读 · 0 评论 -
斐波那契类
斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 题解 斐波那契数列公式 F(n)={n,F(n−1)+F(n−2),n=0,1n>1F(n)={n,n=0,1F(n−1)+F(n−2),n>1F(n)=\begin{cases} n, & n=0,1\\ F(n-1) + F(...原创 2018-08-09 01:28:09 · 217 阅读 · 0 评论