博客专栏  >  编程语言   >  剑指offer编程题解题报告

剑指offer编程题解题报告

剑指offer编程题解题报告

关注
4 已关注
21篇博文
  • 用C++设计一个不能被继承的类

    方法一:把构造函数设为私有函数把构造函数和析构函数都定义为私有,那么怎么获得该类的实例呢?可以通过定义公有的静态函数来创建和释放类的实例class SealedClass1 { public: ...

    2017-07-31 20:35
    323
  • 约瑟夫环

    剑指offer上的题,本质是约瑟夫环Question每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首...

    2017-04-20 10:32
    549
  • 斐波那契数列(Fibonacci)

    斐波那契数列递推公式 F(0)=0; F(1)=1; F(2)=1; … F(n)=F(n-1)+F(n-2);求解 最直观的方法就是直接按照公式来,但是在计算过程中,存在很多重复计算,例...

    2017-02-27 16:20
    373
  • 面试题47-求1+2+3+...+n

    题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 解法 递归,利用位运算中短路...

    2016-11-09 21:27
    451
  • 面试题47-不用加减乘除做加法

    题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解法 用位运算解答 两个数 n1、n2 (n1&n2) (n1^n2)是n...

    2016-11-09 21:22
    357
  • 面试题58-二叉树的下一个结点

    题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解法 中序遍历  左-根-右 1、右孩子不...

    2016-10-31 09:11
    419
  • 面试题59-对称的二叉树

    题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 解法 左孩子的左子树=右孩子的右子树 左孩子的右子树=右孩子的...

    2016-10-31 09:02
    283
  • 面试题51-数组中重复的数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入...

    2016-10-28 11:26
    352
  • 抽象建模能力-面试题44-扑克牌的顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话...

    2016-10-27 20:26
    472
  • 知识迁移能力-面试题37-两个链表的第一个公共结点

    题目描述 输入两个链表,找出它们的第一个公共结点。 A: a1 → a2 ↘ c1 → c...

    2016-10-25 10:33
    443
  • 时间效率与空间效率的平衡-面试题36-数组中的逆序对

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1...

    2016-10-20 21:46
    436
  • 时间效率与空间效率的平衡-面试题35-第一个只出现一次的字符

    题目描述 在一个字符串(1 解法 用两个map,一个是元素与出现次数的对应关系,另一个是元素与下标的对应关系 Code: class Solution { public: ...

    2016-10-20 10:09
    361
  • 时间效率与空间效率的平衡-面试题34-丑数

    题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 ...

    2016-10-20 09:42
    462
  • 分解让复杂问题简单化-面试题28-字符串的排列与组合

    题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按...

    2016-10-14 17:11
    331
  • 分解让复杂问题简单化-面试题27-二叉搜索树与双向链表

    题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解法: 如下图所示,找到左子树的最右结点,该...

    2016-10-12 21:16
    647
  • 举例让抽象具体化-面试题24-二叉搜索树的后序遍历序列

    题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解法: 数组5,7,6,9,11,10,8,...

    2016-10-11 09:04
    385
  • 举例让抽象具体化-面试题22-栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该...

    2016-10-10 21:48
    378
  • 代码的鲁棒性-面试题15-链表中倒数第k个结点

    代码的鲁棒性是指程序能判断出输入的合法性,并对不合法的输入予以合理的处理。 题目描述 输入一个链表,输出该链表中倒数第k个结点。 我们可以用两个指针,first,last,first...

    2016-10-09 09:14
    474
  • 代码的完整性-面试题14-调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 第一种方...

    2016-10-08 10:50
    824
  • 代码的完整性-面试题11-数值的整数次方

    一、规范的代码: 1、清晰的书写 2、清晰的布局 3、合理的命名 二、代码的完整性 1、功能测试 2、边界测试 3、负面测试 三、错误处理方法 1、函数返回值来告知调用者是否出错。 ...

    2016-10-02 22:44
    483
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部