题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题
1、自以为很简单的解法:
由于不需要考虑大数问题,这道题看起来很简单,可能不少应聘者在看到题目30秒后就能写出如下的代码:
public double powerWithExponent(double base,int expo...
分类:
编程语言 时间:
2015-07-31 09:04:48
阅读次数:
131
1、题目
就是给定一个二维数组,数组里面从左到右,从上到下都是非降序。然后查找某个值是否存在。这个题目在剑指offer里面也有。不过这里用的是自己想出来的方法。
2、解法
这里涉及到二分查找肯定是想着使用二分查找。类比一维数组的二分查找,需要两个指针表示范围。但是这里是二维数组,所有想着使用四个指针表示范围。二分查找中肯定需要个中点,这个中心点自然而然选择矩形的中心点。在一维数组,中心点把数...
分类:
编程语言 时间:
2015-07-30 21:25:45
阅读次数:
168
Reverse a singly linked list.
click to show more hints.
Hint:
A linked list can be reversed either iteratively or recursively. Could you implement both?
使用迭代和递归实现单链表的反转。
迭代的方法之间在剑指offer上面...
分类:
其他好文 时间:
2015-07-30 13:38:43
阅读次数:
114
题目链接地址:
http://ac.jobdu.com/problem.php?pid=1516题目1516:调整数组顺序使奇数位于偶数前面时间限制:1 秒内存限制:128 兆特殊判题:否提交:2858解决:924
题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置...
分类:
编程语言 时间:
2015-07-30 11:15:22
阅读次数:
145
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1,因此如果输入9,该函数输出2.
1、可能引起死循环的解法
这是一道很基本的考察二进制和位运算的面试题。题目不是很难,面试官提出问题之后,我们很快形成一个基本的思路:先判断证书二进制表示中最右边一位是不是1.接着把输入的证书右移一位,此时原来处于从右边树起的第二位被移到最后一位,再判断是...
分类:
编程语言 时间:
2015-07-30 09:36:42
阅读次数:
152
跳台阶问题题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解析这个问题归根结底还是一个费布拉奇数列,仔细找一下规律即可,刚开始做的时候我是直接写出前六个数的结果来找规律的。一级台阶:1种 fib(1)=1
二级台阶:2种 fib(2)=2
三级台阶:3种 fib(3)=fib(1)+fib(2)=3
四级台阶:5种 f...
分类:
编程语言 时间:
2015-07-30 02:09:59
阅读次数:
165
题目一:写一个函数,输入n,求斐波那契数列的第n项。斐波那契数列的定义如下:
1、效率很低效的解法,挑剔的面试官不会喜欢
很多C语言的教科书在讲述递归函数的时候,都户拿Fibonacci作为例子,因此很多的应聘者对这道题的递归解法都很熟悉。
下面是实现代码
我们教科书上反复用这个问题来讲解递归的函数,并不能说明递归的解法最适合这道题目。面试官会提示我们上述递归的解法有很严重...
分类:
编程语言 时间:
2015-07-29 10:26:59
阅读次数:
201
题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为旋转。 输入一个递增的排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小元素为1.
这道题最直观的解法并不难,从头到尾遍历一次,我们就能找到最小的元素。这种思路的时间复杂度为O(n)。但是这个思路没有利用输入的旋转数组的特性,肯定达不到面试官的要求。
我...
分类:
编程语言 时间:
2015-07-28 18:37:02
阅读次数:
131
#includeusing namespace std;bool match(char *str,char* pattern){ if(*str=='\0'&&*pattern=='\0') return true; if(*str!='\0'&&*pattern=='\0') return f.....
分类:
其他好文 时间:
2015-07-28 10:34:23
阅读次数:
121
题目链接地址:
http://ac.jobdu.com/problem.php?pid=1386题目1386:旋转数组的最小数字时间限制:1 秒内存限制:32 兆特殊判题:否提交:6914解决:1534
题目描述:
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}...
分类:
编程语言 时间:
2015-07-27 21:10:47
阅读次数:
137