博客专栏  >  编程语言   >  剑指offer

剑指offer

完成了剑指offer上的所有题目,包括拓展题目,并在九度OJ上AC了所有收录的剑指offer上的题目

关注
452 已关注
56篇博文
  • 【剑指offer】把数组排成最小的数

    题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 输入: 输...

    2014-06-03 08:38
    9065
  • 【剑指offer】最近公共祖先

    这类的题目,方法蛮多的,思路也不难理解,基本都是各种遍历的变种,主要是写代码,尤其基于递归的代码。 首先如果是二叉排序树自然不用说了,判断的一句就是该节点的值是否位于输入的这两个节点之间,可以...

    2014-06-03 08:36
    5573
  • 【剑指offer】字符串转整数

    关于这道题目,题目本身还是不错的,真正核心的代码也就那么两行,大部分代码基本都在做非法输入的检查。 最近做这几道题目,对九度后台的测试用例有点无语了,这道题目的测试用例应该有问题,我写的代码自...

    2014-06-02 08:52
    4646
  • 【剑指offer】不用加减乘除做加法

    题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入为两个整数m和n(1<=m,n<=1000000)...

    2014-06-02 08:52
    4421
  • 【剑指offer】无聊的1+2+...+n

    题目描述: 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 输入: 输入可能包含多个测试样例。 对于每个...

    2014-06-02 08:50
    4458
  • 【剑指offer】约瑟夫环问题

    题目描述: 每年六一儿童节,JOBDU都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为JOBDU的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。...

    2014-06-02 08:50
    4171
  • 【剑指offer】扑克牌的顺子

    九度上把这道题目改成了一副扑克牌有4张大小王,这里姑且不管它最多几个0,就题目来说,不严谨,很含糊,比如这里没有对顺子给出比较严谨的定义,5个以下的连续数字算是顺子吗?现实中要至少5个才算顺子的,而且...

    2014-06-01 00:00
    3489
  • 【剑指offer】和为定值的连续正数序列

    题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,...

    2014-06-01 00:00
    2923
  • 【剑指offer】数组中只出现一次的数字(2)

    题目:一个int数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。 上篇博文中我们求的是两个只出现一次的数字,且时间复杂度为O(n),这次是三个,可以同样...

    2014-05-31 13:13
    3747
  • 【剑指offer】数组中只出现一次的数字(1)

    思路:上篇博文中已经了解到异或去重的原理,而且知道如果只有一个只出现一次的数字的求法,但这里是有两个只出现一次的数字,我们便要想办法把他分为两个子数组,每个子数组中包含一个只出现一次的数字,其他的数字...

    2014-05-31 08:59
    3529
  • 【剑指offer】异或去重

    或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。它与布尔运算的区别在于,当运算符两侧均为1时,布尔运算的结果为1,异或运算的结果...

    2014-05-30 08:51
    3748
  • 【剑指offer】整数中1出现的次数

    思路:我们先写一个函数,求出从1到整数n之间1出现的次数,而后分别将要求输入的两个数(具体说,应该是最大的数,和最小的数减去1)作为参数传入该函数,得到的值相减,即可得到二者之间的的数中1出现的次数。...

    2014-05-30 08:50
    3756
  • 【剑指offer】丑数

    思路:最简单的方法就是先通过将一个数不断除以2,3,5来判定该数是不是丑数,而后在从1开始,依次往后判断每个数是不是丑数,并记下丑数的个数,这样当计算的个数为给定值时,便是需要求的第n个丑数,这种方法...

    2014-05-30 08:50
    4225
  • 【剑指offer】数组中的逆序对

    思路:最简单的方法是顺序数组,将每个数字与后面的比较,统计逆序对的个数,这种方法的时间复杂度为O(n*n),这种方法写出的代码在九度OJ上测试,会超时。剑指offer给出了归并排序的思路,这个有点难想...

    2014-05-30 08:49
    3992
  • 【剑指offer】翻转单词顺序

    题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“stu...

    2014-05-29 08:30
    2958
  • 【剑指offer】左旋转字符串

    这道题之前在Cracking the Coding interview上做过类似的,一样的三次反转,即可得到,时间复杂度为O(n),空间复杂度为O(1)。这道题在九度OJ上测试,主要要考虑移动的位数大...

    2014-05-29 08:29
    2584
  • 【剑指offer】数字在排序数组中出现的次数

    我做这道题,是先用二分查找找到该数字,而后再遍历其前后相同的数字,统计次数。这种做法的平均时间复杂度为O(logn),最坏情况下为O(n),剑指offer上给的思路是两次用二分查找分别找到该数字第一次...

    2014-05-29 08:29
    2430
  • 【剑指offer】二叉树深度

    题目描述: 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 输入: 第一行输入有n,n表示结点数,结点号从1到n。根结点为1。...

    2014-05-28 08:22
    2786
  • 【剑指offer】判断二叉树平衡

    题目:输入一个二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 剑指offer上给的第二种思路,用后序遍历真的是将递归发...

    2014-05-28 08:22
    2790
  • 【剑指offer】删除在另一个字符串中出现的字符

    题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。 ...

    2014-05-27 08:26
    3532
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部