
面试算法题
icankeep
优雅程序猿
展开
-
旋转数组的最小数字-----牛客网算法题
这道题很简单,思路就是去找数组中最小的数,常见解法就是遍历数组然后找到最小数就好了,不过这样做可能拿不到offer,遍历数组去找的话时间复杂度是n,虽然也不是很大,但是我们依然需要优化一下,我们可以用二分的办法去找数组的最小值这样做的话时间复杂度可以减小到lgn。如果array[mid]>array[hi],毫无疑问,最小的数一定在右边如果array[mid]==array...原创 2018-12-17 21:22:03 · 191 阅读 · 0 评论 -
跳台阶-----牛客网面试题
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。分析当每次只跳一级台阶时,只有一种情况当每次只跳两级台阶时,也是只有一种情况当又跳一级台阶又跳两级台阶时,我们可以假设第一步跳一级台阶,那么后面的所有的跳法为f(n-1)。当第一步跳两级台阶时,后面所有的跳法为f(n-2)。所有的跳法即是f(n-1)+f...原创 2018-12-18 16:54:13 · 218 阅读 · 0 评论 -
变态跳台阶-----牛客网面试题
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。分析关于本题,前提是n个台阶会有一次n阶的跳法。分析如下:f(1) = 1f(2) = f(2-1) + f(2-2) //f(2-2) 表示2阶一次跳2阶的次数。f(3) = f(3-1) + f(3-2) + f(3-3) ......原创 2018-12-18 17:43:20 · 171 阅读 · 0 评论