自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

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

2018-06-12 18:39:11 4436 1

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

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

2018-06-09 16:33:57 889 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 22564 1

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

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

2018-09-08 22:13:35 408 0

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

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

2018-09-08 21:38:36 274 0

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

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

2018-09-08 21:19:06 354 0

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

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

2018-09-08 17:46:15 1410 0

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

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

2018-09-08 16:39:50 395 0

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

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

2018-09-07 19:57:44 502 0

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

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

2018-09-07 19:28:52 353 0

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

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

2018-09-07 12:58:50 1410 1

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

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

2018-09-06 17:52:10 560 0

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

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

2018-08-31 12:04:19 1007 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 224 0

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

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

2018-08-29 18:11:27 153 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 379 0

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

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

2018-08-28 23:08:59 1110 2

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

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

2018-08-28 21:26:07 293 0

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

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

2018-08-28 20:08:41 665 0

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

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

2018-08-28 19:23:06 803 0

原创 【剑指offer】面试题59:滑动窗口的最大值【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 滑动窗口的最大值 给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,它们的最大...

2018-08-28 19:20:53 238 0

原创 【剑指offer】面试题58:翻转单词顺序/左旋转字符串【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目一: 翻转单词顺序 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串“I am a student.”,则输出“st...

2018-08-28 15:39:42 312 0

原创 【剑指offer】面试题57:和为S的两个数字/和为S的连续正数序列【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目一: 和为s的两个数字 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得他们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 解题思路: 1.使用hash表能够实...

2018-08-28 11:01:02 187 0

原创 【剑指offer】面试题56:数组中数字出现的次数【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 数组中只出现一次的两个数字 一个整形数组中除了两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 解题思路: ...

2018-08-27 20:20:37 534 0

原创 【剑指offer】面试题55:二叉树的深度/二叉平衡树【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 题目一:二叉树的深度 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 树的节点的定义为: struc...

2018-08-27 17:21:28 348 0

原创 【剑指offer】面试题54:二叉搜索树的第K大节点【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 给定一棵二叉搜索树,请找出其中第K大的节点。 树的节点的定义为: struct treeNode { int val; treeNode *left; ...

2018-08-24 20:06:14 1618 1

原创 【剑指offer】面试题53:在排序数组中查找数字【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 数字在排序数组中出现的次数。统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,应该输出4。 解题思路: 1.遍历数组的复杂度为O(n),要...

2018-08-24 12:08:50 369 0

原创 【剑指offer】面试题52:两个链表的第一个公共节点【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 输入两个链表,找出它们的第一个公共节点。链表节点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext...

2018-08-23 22:34:30 267 0

原创 【剑指offer】面试题51:数组中的逆序对【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。例如在数组{7,5,6,4}中,一共存在5个逆序对。 解题思路...

2018-08-23 21:29:17 939 1

转载 hadoop常用命令

hadoop常用命令: hadoop fs 查看Hadoop HDFS支持的所有命令 hadoop fs –ls 列出目录及文件信息 hadoop fs –lsr 循环列出目录、子目录及文件信息 hadoop fs –put test.txt /user/sunligh...

2018-06-15 14:48:18 60 0

转载 Hadoop,MapReduce,YARN和Spark的区别与联系

 (1) Hadoop 1.0   第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中,HDFS由一个NameNode和多个DataNode组成,MapReduce由一个JobTracker和多个TaskTracker组成,对应Hadoop版本为Hadoop...

2018-06-14 20:02:35 343 0

原创 【剑指offer】面试题16:数值的整数次方【C++版本】

题目: 实现函数double Power(double base,int exponent),求base的exponent次方。不需要考虑大数问题 解题思路: 1.这个题目看起来很简单,但其实考察的是考虑到边界问题和错误输入 2.应该分别分析底数和指数大于0、等于0、小于0的情况 ...

2018-06-12 20:58:33 270 0

原创 【剑指offer】面试题15:二进制中1的个数【C++版本】

题目: 请实现一个函数,输入是一个整数,输出该数二进制表示中1的个数。例如,把9表示成二进制是1001,有2位是1。因此,如果输入9,则该函数输出为2。 解题思路: 1.不对数据进行移位,而是移位和数据进行与操作的1。因为移位数据可能会因为符号位而造成死循环 2.O(1)的解法。使用公...

2018-06-12 19:26:29 555 1

原创 【剑指offer】面试题14:剪绳子【C++版本】

题目: 给一段长度为n的绳子,把绳子剪成m段(m,n都是整数且n>1,m>1,即至少要剪一次),问每段绳子长度的乘积最大是多少? 求解思路: 1.使用动态规划求解: 2.确定子问题:例如绳子的长度为8,那么可以剪成1,7两段,那么...

2018-06-12 17:24:20 1321 0

原创 【剑指offer】面试题50:(字符流中)第一个只出现一次的字符【C++版本】

题目: 字符串中第一个只出现一次的字符。在字符串中找出第一个只出现一次的字符。如输入"abaccdeff" "abaccdeff&amp...

2018-06-12 15:50:50 868 0

原创 【剑指offer】面试题49:丑数【C++版本】

题目: 我们把只包含因子2,3,5的数称作丑数。求按从小到大的顺序的第1500个丑数。例如,6,8都是丑数,但14不是丑数,因为它包含因子7。习惯上我们把1当作第一个丑数。 解题思路: 1.首先要理解丑数的概念。换个角度理解,因为丑数只能被2,3,5整除。也就是说,如果一个数能被2整除,...

2018-06-12 11:34:48 880 0

原创 【剑指offer】面试题48:最长不含重复字符的子字符串【C++版本】

题目: 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。假设字符串中只包含 ′ a ′&am...

2018-06-11 21:24:59 1495 1

原创 【剑指offer】面试题47:礼物的最大价值【C++版本】

题目: 在一个m×n m×nm×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格,直到到达棋盘的右下角。给定一个棋盘及其上面的礼物,请计算你最多能够拿到多少价值的礼物。 解...

2018-06-11 19:43:23 769 0

原创 【剑指offer】面试题46:把数字翻译成字符串【C++版本】

题目: 给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成“a”,1翻译成“b”,……,11翻译成“l”(小写的“L”),……,25翻译成“z”。一个数字可能有多个翻译。例如:12258有5种不同的翻译,分别是“bccfi” 、“bwfi” 、“bczi” 、“mcfi” 和 “mzi”。...

2018-06-11 16:46:10 639 0

原创 【剑指offer】面试题44:数字序列中某一位的数字【C++版本】

20180609 题目: 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。 解题思路: 1.从位数为1开始统计不同的位数的数字...

2018-06-09 15:20:19 553 0

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