自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

转载 linux后台开发必备技能

一、linux和os:1、命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验2、cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握3、awk sed需掌握4、共享内存的使用实现原理、然后共享内存段被映射进进程空间...

2016-05-17 14:09:00 172

转载 京东2016校园实习生招聘系统测试岗在线笔试编程题

试题一:复习安排输入包含多组测试数据。首先输入一行包含两个数据复习的天数d和所用总时间sumtime。接下来的d行,每一行含有两个数据,分别表示父亲希望儿子复习的时间的下线imintime和上限imaxtime。儿子只记录了复习所用总时间数,但是为了向父亲汇报,他必须要汇报出每天安排的复习时间数,以完成父亲的要求,请帮助他设计每天复习的时间。如果无法完成安排,则输出“No...

2016-04-10 16:38:00 217

转载 二叉搜索树的后序遍历序列

【题目描述】 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。【解题思路】 在后序遍历得到的序列中,最后一个数字是树的根节点的数值。数组中前面的数字可以分为两部分:第一部分是左子树节点的值,它们都比根节点的值小;第二部分是右子树节点的值,它们都比根节点的值大。第一部分和...

2015-12-15 11:46:00 157

转载 合并两个排序的链表

【题目描述】 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。【解题思路】 当我们得到两个链表中值较小的头结点并把它链接到已经合并的链表之后,两个链表剩余的节点依然是排序的,其后续的处理步骤与上述相同,因此可以考虑递归的思路:我们可以定义一个递归函数来实现后续的归并过程。 一旦输入空的链表就会引入空...

2015-12-15 11:45:00 94

转载 判断平衡二叉树

【题目描述】 输入一棵二叉树的根节点,判断该二叉树是否是平衡二叉树。如果某二叉树中的任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树(AVL树)。【代码实现】实现一:需要重复遍历节点多次,简单但是不足以打动面试官 1 /* 2 struct TreeNode { 3 int val; 4 struct Tree...

2015-12-15 11:44:00 49

转载 二叉树的深度

【题目描述】 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。【代码实现】实现一:递归实现 1 /* 2 struct TreeNode { 3 int val; 4 struct TreeNode *left; 5 struct...

2015-12-15 11:42:00 79

转载 替换空格

【题目描述】 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。【解题思路】【代码实现】实现一:假设:要求在原来的字符串上做替换,并且保证输入的字符串后面有足够多的多余空间。在原有字符串的基础之上,从后往前逐次移动 1 ...

2015-12-15 11:42:00 53

转载 二维数组的查找

【题目描述】在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入描述:array: 待查找的二维数组target:查找的数字输出描述:查找到返回true,查找不到返回false【解题思路】分析一个具体的实例,找出如下的规律:...

2015-12-15 11:41:00 52

转载 矩形覆盖

【题目描述】 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?【解题思路】 我们不妨把2*n的覆盖方法记作f(n)。假设从左向右进行覆盖。最后一次用一个1*2的小矩形去覆盖大矩形最右边时,有两种选择,竖着放或者横着放。当竖着放的时候,左边还剩下2*(n-1)的区域,这种情形下的覆...

2015-12-15 11:40:00 79

转载 变态跳台阶

【题目描述】 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。【解题思路】 通过数学归纳法证明:f(n)=2^n-1。1 class Solution {2 public:3 int jumpFloorII(int number) {4 if(nu...

2015-12-15 11:38:00 51

转载 跳台阶

【题目描述】一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。【解题思路】 本质就是斐波那契数列。  对于青蛙的最后一跳,它可以跳一个上去,也可以跳两个上去。 即f(n)=f(n-1)+f(n-2)。【代码实现】 1 class Solution { 2 public: 3 ...

2015-12-11 12:21:00 48

转载 数值的整数次方

【题目描述】 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。【解题思路】若n为偶数,则a^n=(a^n/2)*(a^n/2)若n为奇数,则a^n=(a^(n-1)/2)*(a^(n-1)/2)*2【代码实现】实现一:利用递归方式,但是容易堆栈溢出 1 cla...

2015-12-11 10:29:00 50

转载 丑数(各种丑数题的变形版本)

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

2015-12-11 09:54:00 141

转载 找到两链表的第一个公共节点

【题目描述】 输入两个链表,找出它们的第一个公共结点。 For example, the following two linked lists:A: a1 → a2 ↘ c1 → c2 → c3 ↗ ...

2015-12-11 09:52:00 55

转载 数组中出现次数超过一半的数字

【题目描述】 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。【原题重现:2016 腾讯C/C++研发工程师】 春节期间小明使用微信收到很多红包,非常开心。在查看领取红包的记录时发现,某个红包金额...

2015-12-09 13:15:00 54

转载 从上往下打印二叉树

【题目描述】 从上往下打印出二叉树的每个节点,同层节点从左至右打印。【解题思路】 用队列实现二叉树的层序遍历(即图中的广度优先遍历)【代码实现】 1 /* 2 struct TreeNode { 3 int val; 4 struct TreeNode *left; 5 struct TreeN...

2015-12-09 12:44:00 42

转载 栈的压入、弹出序列

【题目描述】 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。【代码实现】 1 #include <iostream> 2 #inclu...

2015-12-09 12:41:00 48

转载 连续子数组的最大和

【题目描述】 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不...

2015-12-08 21:24:00 44

转载 链表中环形的入口

【题目描述】一个链表中包含环,请找出该链表的环的入口结点。【解题思路】 有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。  那么问题来了,如何判断一个链表是不是这类链表?如果链表为存在环,如果找到环的入口点?   当fast若与slow相遇时,slow肯定没有走遍历完链表(不是一整个环,...

2015-12-08 15:18:00 150

转载 左旋转字符串

【题目描述】 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!【代码实现】实现一:C语言字符操作,技巧性较强...

2015-12-08 15:16:00 46

转载 链表中倒数第k个节点

【题目描述】输入一个链表,输出该链表中倒数第k个结点。【解题思路】为了实现只遍历一次就能找到倒数第k个节点,我们可以定义两个指针(俗称“快慢指针”)。第一个指针从链表的头结点开始遍历向前走k-1,第二个指针保持不动;从第k步开始,第二个指针也开始从链表的头指针开始遍历。由于两个指针的距离始终保持在k-1,当第一个指针到达链表的末尾时,第二个指针刚好走到倒数第k个节点。...

2015-12-08 11:35:00 49

转载 二叉树镜像

【题目描述】操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ ...

2015-12-06 16:49:00 51

转载 用两个栈实现队列

【题目描述】用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。【解题思路】思路其实很简单,如下所示:1、所谓的“一次性倒完”可以通过一直往Stackpop中push元素,直到StackPush栈大小为空时为止来实现。2、如果StackPop中有数据,则直接弹出栈顶元素并返回即可; 如果StackPop中没有数...

2015-12-06 16:48:00 53

转载 从尾到头打印链表

【题目描述】输入一个链表,从尾到头打印链表每个节点的值。输入描述:输入为链表的表头输出描述:输出为需要打印的“新链表”的表头【代码实现】实现一:基于栈的实现 1 /** 2 * struct ListNode { 3 * int val; 4 * struct ListNode *next;...

2015-12-06 16:43:00 40

转载 斐波那契数列

【题目描述】大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。【代码实现】传统的递归方式:这个题可以说是迭代(Iteration) VS 递归(Recursion),f(n) = f(n-1) + f(n-2),第一眼看就是递归啊,简直完美的递归环境,这样想着关键代码两三行就搞定了,注意这题的n是从0开始的:1 c...

2015-12-06 16:42:00 56

转载 二进制中1的个数

【题目描述】输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。【代码实现】 1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int count=0; 5 while(n) 6 { 7 ...

2015-12-06 16:40:00 53

转载 【网络编程基础】Linux下进程通信方式(共享内存,管道,消息队列,Socket)...

在网络课程中,有讲到Socket编程,对于tcp讲解的环节,为了加深理解,自己写了Linux下进程Socket通信,在学习的过程中,又接触到了其它的几种方式。记录一下。管道通信(匿名,有名)管道通信,在一个进程之中,只能单一的对其写或者是读,而不可以及执行写操作又执行读操作。这一点,我们可以将其想象成我们的水管,分别连着不同的两端,在有水流的时候,一端只能进行输入,另一端只能进行...

2015-12-04 12:35:00 123

转载 【C++基础学习】Vector

代码练习:#include <iostream>#include <vector>using namespace std;int main(){ cout << "****vector exercise****" << endl; vector<int>vec(9, 8); ...

2015-12-02 10:18:00 73

转载 【C++基础学习】类型声明

1.初始化在C++中,初始化与赋值操作是完全不同的两个操作。初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来代替。初始化的方式有:1 int test = 0;2 int test = {0};3 int test{0};4 int test(0);第3行这种使用花括号初始化的方式被...

2015-11-24 15:38:00 58

转载 【Effective C++】继承与面向对象设计

关于OOP1,继承可以是单一继承或多重继承,每一个继承连接可以是public、protected或private,也可以是virtual或non-virtual。2,成员函数的各个选项:virtual或non-virtual或pure-virtual。3,成员函数和其他语言特性的交互影响:缺省参数值与virtual函数有什么交互影响?继承如何影响C++的名称查找规则?设计选项...

2015-11-22 17:12:00 83

转载 【Effective C++】实现

条款26:尽可能延后变量定义式的出现时间有些对象,你可能过早的定义它,而在代码执行的过程中发生了导常,造成了开始定义的对象并没有被使用,而付出了构造成本来析构成本。所以我们应该在定义对象时,尽可能的延后,甚至直到非得使用该变量前一刻为止,应该尝试延后这份定义直到能够给它初值实参为止。这样做的好处是:不仅可以避免构造(析构)非必要对象,还可以避免无意义的default构造行为。...

2015-11-22 17:07:00 80

转载 【Effective C++】设计与声明

条款18:让接口容易被正确使用,不易被误用1,好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。2,“促进正使用”的办法包括接口的一致性,以及与内置类型的行为兼容。3,“阻止误用”的办法包括建立新类型,限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。4,shared_ptr支持定制型删除器。这可以防范DLL问题,可以用来自动解除互斥...

2015-11-22 17:06:00 65

转载 【Effective C++】资源管理

资源:动态分配的内存、文件描述器、互斥锁、图形界面中的字型与笔刷、数据库连接以及网络sockets等,无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。条款13:以对象管理资源当我们向系统申请资源后,一定要记得释放,不然就容易发生内存泄漏。但是意识到这样一件事并不是很容易,比如我们是通过一个函数来动态分配内存并返回一个指针。Investment* ceateInv...

2015-11-22 17:05:00 80

转载 【Effective C++】构造/析构/赋值运算

条款05:了解C++默默编写并调用哪些函数默认构造函数、拷贝构造函数、拷贝赋值函数、析构函数构成了一个类的脊梁,只有良好的处理这些函数的定义才能保证类的设计良好性。当我们没有人为的定义上面的几个函数时,编译器会给我们构造默认的。当成员变量里有const对象或引用类型时,编译器会不能合成默认的拷贝赋值函数;当一个基类把它的拷贝赋值函数定义为private时,它的派生...

2015-11-22 17:04:00 81

转载 【Effective C++】让自己习惯C++

条款01:视C++为一个语言联绑C++的四个语言层次:C:C++是以C为基础的。基本数据类型、语句、预处理器、数组、指针等统统来自C。Oject-Oriented C++:面向对象这一特性包含了:类,封装(声明与实现相分离),继承(多继承和多重继承、构造函数、析构函数、拷贝构造函数、拷贝赋值运算符),多态(静态绑定:函数重载,动态绑定:虚函数),虚函数等Templa...

2015-11-22 17:02:00 64

转载 【网络基础】计算机网络常考知识点整理

OSI,TCP/IP,五层协议的体系结构,以及各层协议OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器...

2015-11-22 16:56:00 116

转载 【HTTP】HTPP学习笔记

1.了解web及网络基础HTTP的诞生TCP/IP协议族应用层FTP文件传输协议HTTP超文本传输协议DNS域名系统:IP地址<--->域名传输层TCP传输控制协议三次握手详情UDP用户报文协议网络层IP网际协议链路层URL/URIHTTP协议与其他协议的关系2.简单HTTP协议通过请求和响应的交...

2015-11-22 16:50:00 147

转载 【C++基础学习】成员对象与对象数组

第一部分 对象成员与对象数组从一个简单的例子开始说起,首先定义一个Coordinate的类,里面有两个公有的成员变量m_iX和m_iY,分别代表横坐标和纵坐标。接下来,定义一个对象数组cood和一个指向一个对象数组的指针p:那么,coord和p究竟有何不同呢?初始化的时候,先初始化m_CoorA和m_CoorB,接着初始化Line;析构的时...

2015-11-22 16:34:00 81

转载 C++编程规范纲要要点小结

这是一本好书, 可以让你认清自己对C++的掌握程度. 看完之后,给自己打分,我对C++了解多少? 答案是不足20分. 对于我自己是理所当然的问题, 就不提了, 记一些有启发的条目和细节:(*号表示不能完全理解,实力升级了之后回头看)一般性问题:1. 不要在注释中重复写代码语义,这样很容易产生不一致. 应该编写的是解释方法和原理的说明性注释.2. 不要对每个项目每个文件进行...

2015-11-21 11:34:00 115

转载 求最大子数组的和

这是一道考的烂的不能再烂的题目,但是依然有很多公司乐于将这样的题目作为笔试或面试题,足见其经典。 问题是这样的:一个整数数组中的元素有正有负,在该数组中找出一个连续子数组,要求该子数组中各元素的和最大,这个子数组便被称作最大子数组。比如数组{2,4,-7,5,2,-1,2,-4,3}的最大子数组为{5,2,-1,2},最大子数组的和为5+2-1+2=8。 下面按...

2015-09-02 10:42:00 75

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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