class Solution {public: int minNumberInRotateArray(vector rotateArray) { //常规的遍历方法时间是O(N)的,需要使用二分法,这样对于不重复的数组,就能实现O(logN)的时间 int l=0,r=rotateArray.siz...
分类:
编程语言 时间:
2016-03-16 21:00:12
阅读次数:
284
(1)一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。//递归方式 public static int f(int n) { //参数合法性验证 if (n 2时候循环求值 int res = 0; int a = 1; int b = 1; for...
分类:
其他好文 时间:
2016-03-16 20:59:44
阅读次数:
238
陷阱:用最大的n位数-1(数字太大可能产生越界)
应该采用字符串模拟数字自加!
代码如下:
#include<iostream>
usingnamespacestd;
intIsMax(char*number)
{
intnLength=strlen(number);
intCarryBit=0;
boolret=false;
for(inti=nLength-1;i>=0;i--)
{
intnSum=numb..
分类:
其他好文 时间:
2016-03-12 14:54:06
阅读次数:
151
剑指offer中题目:http://ac.jobdu.com/problem.php?pid=1514 题目描写叙述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 输入: 输入可能包括多个測试例子。 对于每一个输入文件,第一行输入一
分类:
其他好文 时间:
2016-03-08 10:37:41
阅读次数:
149
题目链接:http://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6?rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 题目描述每年
分类:
其他好文 时间:
2016-03-07 12:05:12
阅读次数:
115
参考:《剑指offer》纪念版
情况1.:给出树的前序序列和中序序列,输出后序序列
情况2 :给出树的后序序列和中序序列,输出前序序列
解决方法:根据所给出的两个序列,构造出(重建)二叉树,然后按要求再遍历输出。
重建二叉树主要利用了递归的思想,最重要的是找出序列的范围(函数传参),这个要非常仔细,很容易出错。一定要在纸上画出图,然后根据图来确定范围。
用到的两个函数:
以情况...
分类:
其他好文 时间:
2016-03-04 13:23:08
阅读次数:
212
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转,输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}是数组{1,2,3,4,5}的一个旋转,该数组的最小值为1。题目分析:我们可以通过旋转以后的数组中的元素的分布方式找出其..
分类:
编程语言 时间:
2016-03-04 02:01:04
阅读次数:
187
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路:这个题目以前做过,是直接把数转换成二进制字符串,然后遍历一遍统计1的个数。《剑指Offer》上这道题目有3种位运算解法。最后一种是最优的。可以使用一个位运算的技巧,n & (n-1)可以把n的二进制数的最右边的1去掉。知道
分类:
其他好文 时间:
2016-03-02 21:40:42
阅读次数:
158
public class QueueByStack { private Stack<Integer> stack1; private Stack<Integer> stack2; public QueueByStack() { // TODO Auto-generated constructor s
分类:
其他好文 时间:
2016-02-29 20:01:37
阅读次数:
126
public class MinNumberInRotatedArray { public int getMinNumInRotatedArray(int[] array) { if(array == null) { return -1; } int leftIndex = 0; int right
分类:
编程语言 时间:
2016-02-29 19:52:15
阅读次数:
126