【剑指offer-第二版】部分题目与解答【C++版本】

20180612 求职在即,《剑指offer》作为大家都推荐的一本应试宝典,确实也有刷一刷的必要。很多题目都比较经典,也涵盖了大多数的算法和数据结构。把自己刷题的过程做一个总结,权当是一个笔记。 我自己使用的《剑指offer》第二版,所以题目顺序也按照第二版书上的顺序。 如果是牛客网...

2018-06-12 18:39:11

阅读数 2541

评论数 1

【剑指offer】面试题45:把数组排成最小的数【C++版本】

题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如:输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323 解题思路: 1.制定一种新的排序规则,数组根据这个规则排序之后能够排成一个最小的数字。 2.要制定新的...

2018-06-09 16:33:57

阅读数 371

评论数 0

ubuntu安装和使用git总结

1.安装gitsudo add-apt-repository ppa:git-core/ppa       //添加源sudo apt-get update                                          //更新sudo apt-get install git ...

2018-04-28 20:12:11

阅读数 15779

评论数 1

【剑指offer】面试题10:斐波那契数列【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 斐波那契数列 求斐波那契数列的第n项。斐波那契数列的定义如下: f(0) = 0; f(1) = 1; f(n) = f(n - 1) + f(n - 2); n &amp...

2018-09-08 22:13:35

阅读数 220

评论数 0

【剑指offer】面试题9:用两个栈实现队列【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 用两个栈实现队列 用两个栈实现一个队列。队列的声明如下,请实现它的两个成员函数,分别完成在队列尾部插入节点和在队列的头部删除节点 class solution { public: ...

2018-09-08 21:38:36

阅读数 132

评论数 0

【剑指offer】面试题8:二叉树的下一个节点【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目一: 二叉树的下一个节点 给定一颗二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了指向左右子树的指针,还有一个指向父节点的指针。树节点定义如下: struct ...

2018-09-08 21:19:06

阅读数 175

评论数 0

【剑指offer】面试题7:重建二叉树【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目一: 重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树(假设没有重复数字)。树节点定义如下: struct TreeNode { int val; T...

2018-09-08 17:46:15

阅读数 582

评论数 0

【剑指offer】面试题6:从尾到头打印链表【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目一: 从尾到头打印链表 输入一个链表的头节点,从尾到头反过来打印出每个节点的值。链表节点定义如下: struct ListNode { int val; ...

2018-09-08 16:39:50

阅读数 178

评论数 0

【剑指offer】面试题5:替换空格【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目一: 替换空格 请实现一个函数,把字符串中的每个空格替换成“%20”,例如,输入”We are happy.”,则输出”We%20are%20happy.”。 解题思路: 本题主要考...

2018-09-07 19:57:44

阅读数 253

评论数 0

【剑指offer】面试题4:二维数组中的查找【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目一: 二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的递增的顺序排序,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该...

2018-09-07 19:28:52

阅读数 211

评论数 0

【剑指offer】面试题3:数组中重复的数字【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目一: 找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0~n-1范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字...

2018-09-07 12:58:50

阅读数 692

评论数 1

【剑指offer】面试题2:单例模式【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 实现singleton模式 设计一个类,我们只能生成该类的一个实例。 解题思路: 1.这个题《剑指offer》上面使用的是C#来解答,这里给出一种C++的解答方式,和原书中的解法...

2018-09-06 17:52:10

阅读数 310

评论数 0

【剑指offer】面试题1:赋值运算符函数【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 赋值运算符函数 如下为类型CMyString的声明,请为该类型添加赋值运算符函数。 class CMyString { public: //构造函数 CMySt...

2018-08-31 12:04:19

阅读数 486

评论数 0

【剑指offer】面试题66:构建乘积数组【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 构建乘积数组 给定一个数组A[0,1,...,n−1]A[0,1,...,n−1]A[0,1,...,n-1],请构建一个数组B[0,1,...,n−1]B[0,1,...,n−1]...

2018-08-29 20:37:34

阅读数 125

评论数 0

【剑指offer】面试题65:不用加减乘除做加法【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 不用加减乘除做加法 写一个函数,求两个整数之和,要求在函数体内不得使用加减乘除四则运算符。 解题思路: 1.不能用四则运算那就使用位运算。 2.按照《剑指offer》上面的方法...

2018-08-29 18:11:27

阅读数 84

评论数 0

【剑指offer】面试题64:求1+2+...+n【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 求1+2+…+n 求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字即条件判断语句(A?B:C)(A?B:C)(A?B:C)。 ...

2018-08-29 17:07:24

阅读数 137

评论数 0

【剑指offer】面试题63:股票的最大利润【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 股票的最大利润 假设把某股票的价格按照时间先后顺序储存在数组中,请问买卖该股票一次可能获得的最大利润是多少?例如,一只股票在某些时间节点的价格为{9,11,8,5,7,12,16,1...

2018-08-28 23:08:59

阅读数 325

评论数 2

【剑指offer】面试题62:圆圈中最后剩下的数字【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 圆圈中最后剩下的数字 0,1,……,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里面删除第m个数字。求出这个圆圈里剩下的最后一个数字。 解题思路: 1.使用容器模拟...

2018-08-28 21:26:07

阅读数 127

评论数 0

【剑指offer】面试题61:扑克牌中的顺子【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 扑克牌中的顺子 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。其中A为1,J为11,Q为12,K为13,而大小王为0,且大小王能够当做任意一张牌。 解题思路:...

2018-08-28 20:08:41

阅读数 310

评论数 0

【剑指offer】面试题60:n个骰子的点数【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 滑动窗口的最大值 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 解题思路: 1.解法一可以使用递归来求解。详细代码见书。 2....

2018-08-28 19:23:06

阅读数 298

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭