自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知之可否

Be yourself; everyone else is already taken.​

  • 博客(56)
  • 资源 (10)
  • 收藏
  • 关注

原创 剑指offer:两个链表的第一个公共结点

题目描述输入两个链表,找出它们的第一个公共结点。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* FindFirstCo

2016-04-28 15:45:11 400

原创 剑指offer:数组中的逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。class Solution {public: int InversePairs(vector<int> data) { int len = data.size(); if (len == 0){ retur

2016-04-28 15:04:20 511

原创 剑指offer:丑数

题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。class Solution {public: int GetUglyNumber_Solution(int index) { //注意这种非法的输入 if(index<=0)

2016-04-27 22:18:42 517

原创 剑指offer:把数组排成最小的数

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。class Solution {public: /* static bool myCmp(string str1, string str2){ string cat1 = str1 +

2016-04-27 16:37:23 362

原创 剑指offer:最小的K个数

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。方法一O(n)改变输入,适合小数据class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { int len = input.si

2016-04-26 22:58:32 395

原创 剑指offer:数组中出现次数超过一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。方法1利用快排的partionclass Solution {public: int MoreThanHalfNum_Solution(vector<int> numbers

2016-04-26 21:22:09 504

转载 理解TCP为什么需要进行三次握手(白话)

转自 http://www.cnblogs.com/yuilin/archive/2012/11/05/2755298.html首先简单介绍一下TCP三次握手    在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服

2016-04-26 20:05:06 366

转载 TCP协议三次握手过程分析

TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urge

2016-04-26 19:59:26 356

转载 TCP协议中的三次握手和四次挥手(图解)

转自http://blog.csdn.net/whuslei/article/details/6667471建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向

2016-04-26 19:54:55 316

原创 剑指offer:二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。1.递归/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(

2016-04-25 22:28:33 350

原创 剑指offer:复杂链表的复制

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)。/*struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x), next(NULL)

2016-04-25 11:53:46 359

原创 剑指offer:二叉树中和为某一值的路径

题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(

2016-04-24 21:32:26 467

原创 剑指offer:二叉搜索树的后序遍历序列

题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。class Solution {public: bool VerifySquenceOfBST(vector<int> sequence) { if(sequence.size()==0){ return

2016-04-24 20:05:50 365

原创 剑指offer:栈的压入、弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。class Solution {public: bool IsPopOrder(vector<int> pushV,vector

2016-04-24 14:48:06 412

原创 剑指offer:树的子结构

题目描述输入两颗二叉树A,B,判断B是不是A的子结构。这题有点难注意if (pRoot2 == NULL){ return true;}if (pRoot1 == NULL){ return false;}注意着两个顺序不能换,换了就出错。/*struct TreeNode { int val; struct TreeNode *left; struc

2016-04-23 15:44:35 399

原创 剑指offer:反转链表

题目描述输入一个链表,反转链表后,输出链表的所有元素。1.非递归/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public:

2016-04-22 23:24:41 523

转载 ip数据包经由路由转发的时候源ip,目的ip是否改变

ip数据包经由路由转发的时候源ip,目的ip是否改变?最近面试网络方面的经常问到这个问题,答案是不能改变的,*除非做了nat转换才能改变。不过mac地址是变化的,因为发送端开始不知道目的主机的mac地址,所以每经过一个路由器mac地址是变化的。目的mac地址是如何得到的?TCP/IP里面是用的ARP协议。比如新建了一个内网,如果一台机器A找机器B,封装FRAME时(OSI的第二层用的数据格式),要封

2016-04-21 23:01:30 34481 8

原创 剑指offer:数值的整数次方

方法一:见幂模class Solution {public: double Power(double base, int exponent) { if(base==0 && exponent<0){ throw new std::logic_error("error input"); } if(exponent==0)

2016-04-21 17:33:50 602

转载 ip首部校验和计算

IP首部校验和的计算方法:  1.把校验和字段清零。  2.然后对每16位(2字节)进行二进制反码求和,反码求和的意思是先对每16位求和,再将得到的和转为反码。  接下来详细描述反码求和的步骤:看下面的代码  算法:SHORT checksum(USHORT* buffer, int size){    unsigned long cksum = 0

2016-04-21 16:36:08 10818 2

原创 lintcode: Largest Rectangle in Histogram

Given n non-negative integers representing the histogram’s bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.方法一O(n^2) 对于每个bar,找出bar是最矮的范围,求出一个面积;遍历所有bar

2016-04-18 22:14:45 452

原创 lintcode: Data Stream Median

Numbers keep coming, return the median of numbers at every time a new number added.维持一个大顶堆,一个小顶堆;大顶堆存有序的前一半数据,小顶堆存有序的后一半数据;大顶堆的堆顶就是每次的中位数。注意要 维持maxHeap.size()==minHeap.size()+1或者maxHeap.size()==minHeap

2016-04-18 17:18:28 462

原创 lintcode: Ugly Number II

Ugly number is a number that only have factors 2, 3 and 5.Design an algorithm to find the nth ugly number. The first 10 ugly numbers are 1, 2, 3, 4, 5, 6, 8, 9, 10, 12…class Solution {public: /*

2016-04-18 16:20:24 478

原创 lintcode:Merge k Sorted Lists

Merge k sorted linked lists and return it as one sorted list.Analyze and describe its complexity.方法一:跟合并两个有序的链表一样,每次找出k个有序链表中最小的,加入到新的链表,直到k个链表都为null。 时间复杂度:O(Nk),N指的是k个链中的总节点数/** * Definition of Lis

2016-04-16 15:19:04 435

转载 【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经

应届生上泡了两年,一直都是下资料,下笔试题,面试题。一直都在感谢那些默默付出的人。写这个帖子花了我两个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已。大家何必那么认真,更没必要说脏话。我不在乎你们怎么评价我。只要有人觉得帖子有用,我就欣慰了。谢谢大家,别说脏话,以和为贵。饮水思源,谢谢应届生上默默付出的师兄师姐,谢谢那么多份笔试题,面试题,没有这些资料,就没有现在的我

2016-04-16 13:32:23 2139

转载 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经

首先感谢师兄在两年前发的贴(【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经 ),这篇文章对我帮助很大。我写这篇文章一是为了感谢这位同是华南理工但素未谋面的师兄,给我推荐这篇文章的炳爷,以及为我解决难题的浩子,羊兄给的项目帮助,洁洁的理解,王兄提供的两个月免费住宿,以及互娱的BOSS,leader,金山的朱先生等人对我择业的帮助,以及所有直接间接帮助过我的人。二是饮水思源,

2016-04-16 13:22:42 1733

原创 lintcode: Min Stack

Implement a stack with min() function, which will return the smallest number in the stack.It should support push, pop and min operation all in O(1) cost.1.用map记录所有值和出现的次数,根据map有序的特征取出最小值class MinStack

2016-04-14 22:17:02 586

原创 Implement Queue by Two Stacks

As the title described, you should only use two stacks to implement a queue’s actions.The queue should support push(element), pop() and top() where pop is pop the first(a.k.a front) element in the queu

2016-04-14 21:07:41 981

原创 Longest Consecutive Sequence

Given an unsorted array of integers, find the length of the longest consecutive elements sequence.Clarification Your algorithm should run in O(n) complexity.类似题目 最长递增子序列(LIS)思路就是: 1.将num存到unordered_m

2016-04-14 17:35:17 446

转载 数据结构:hash_map原理

这是一节让你深入理解hash_map的介绍,如果你只是想囫囵吞枣,不想理解其原理,你倒是可以略过这一节,但我还是建议你看看,多了解一些没有坏处。hash_map基于hash table(哈希表)。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。另外,编码比较

2016-04-14 16:30:17 2518

转载 C++中map、set、hash_map、hash_set、unordered_map、unordered_set通俗辨析

一、hash_map、unordered_map这两个的内部结构都是采用哈希表来实现。区别在哪里?unordered_map在C++11的时候被引入标准库了,而hash_map没有,所以建议还是使用unordered_map比较好。哈希表的好处是什么?查询平均时间是O(1)。顾名思义,unordered,就是无序了,数据是按散列函数插入到槽里面去的,数据之间无顺序可言,但是有些时候

2016-04-14 16:29:26 2066

原创 lintcode:Word Break

Given a string s and a dictionary of words dict, determine if s can be break into a space-separated sequence of one or more dictionary words.设res[i]表示s的前i个数字母能否分拆后在dict中找到。 则 如果,则res[i]=true;class So

2016-04-13 17:33:15 769

原创 lintcode: Interleaving String

Given three strings: s1, s2, s3, determine whether s3 is formed by the interleaving of s1 and s2.跟 lintcode: Distinct Subsequences 类似。 用res[i][j] 表示s1的前i个字母和s2的前j个字母是否可以跟s3的前i+j个字母匹配。 还用走二维地图的方式解释

2016-04-13 16:34:03 598 1

转载 C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别

1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。2>静态局部变量具有局部作用域

2016-04-13 10:20:54 674

原创 lintcode:Backpack

Given n items with size Ai, an integer m denotes the size of a backpack. How full you can fill this backpack?Example If we have 4 items with size [2, 3, 5, 7], the backpack size is 11, we can select [

2016-04-12 22:47:32 840

转载 两个桶分油问题

题目: 一桶有10L的油,以及3L和7L的空桶,怎么分出5L和5L。 思路: 10L 3L 7L桶的变化过程如下: 10 0 0 -> 7 3 0 -> 7 0 3 -> 4 3 3 -> 4 0 6 -> 1 3 6 -> 1 2 7 -> 8 2 0 -> 8 0 2 -> 5 3 2 -> 5 0 5 成功!

2016-04-12 15:13:23 2592

转载 几个常用的操作系统进程调度算法

一、先来先服务和短作业(进程)优先调度算法1.先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入

2016-04-12 11:11:15 648

转载 Linux进程间通信

我们在Linux信号基础中已经说明,信号可以看作一种粗糙的进程间通信(IPC, interprocess communication)的方式,用以向进程封闭的内存空间传递信息。为了让进程间传递更多的信息量,我们需要其他的进程间通信方式。这些进程间通信方式可以分为两种:管道(PIPE)机制。在Linux文本流中,我们提到可以使用管道将一个进程的输出和另一个进程的输入连接起来,从而利用文件

2016-04-12 11:01:40 590

转载 百度笔试题:malloc/free与new/delete的区别

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内

2016-04-12 10:20:55 1077

原创 lintcode: Distinct Subsequences

Given a string S and a string T, count the number of distinct subsequences of T in S.A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of

2016-04-11 17:41:43 481

原创 lintcode: Edit Distance

Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:Inser

2016-04-11 15:56:34 680

Win7平台VS2010安装Visual Assist X

vs2010适用的破解版vax 编程辅助工具,已验证在win7 和winxp系统均可使用(无论是64bit还是32bit)。注意用破解的DLL覆盖原dll,路径为: (1)如果是Windows7系统: C:/Users/用户名/AppData/Local/Microsoft/VisualStudio/10.0/Extensions/Whole Tomato Software/Visual Assist X/10.7.1901.0 (2)如果是XP系统: C:/Documents and Settings/用户名/Local Settings/Application Data/Microsoft/VisualStudio /10.0/Extensions/Whole Tomato Software/Visual Assist X/10.7.1901.0

2015-03-20

中科大2006-2014年计算机复试机试题

本人是14年考入中科大的计算机研究生。这里面有我做的2006-2014年的全部机试题的代码。 奉献给大家。

2014-09-12

合工大操作系统课程设计:基于内存的文件系统

首先分配一定容量的内存,建立虚拟磁盘; 在该磁盘上建立相应的文件系统; 为该文件系统设计相应的数据结构来管理目录、虚拟磁盘的空闲空间、已分配空间等。 提供文件的创建、删除、移位、改名等功能。 提供良好的界面,可以显示磁盘文件的状态和空间的使用情况; 提供虚拟磁盘转储功能,可将信息存入磁盘,还可从磁盘读入内存; 完全实现了上面的功能,验收的时候老师给了“优”

2013-07-07

北方民族大学试卷(软件工程)

北方民族大学试卷,2010的软件工程导论期末试卷,不容错过哦!

2013-06-10

飞鸽传书简化版代码

一个自己DIY的飞鸽传书JAVA程序,在Eclipse上可以完美的运行,没有任何错误。是课程设计或者毕业设计的最佳选择。4分物超所值。

2013-05-04

合工大单片机考试试卷

合工大单片机考试考试,内部资料,考试和考研最佳选择

2013-04-18

北大ACM答案

不多说,物廉价美,会对你的编程技术大有提高

2013-04-13

数据结构之迷宫游戏课程设计

适合用于课程设计,代码详尽,有图有真相,能够在VC上直接运行

2013-04-13

编译原理课程设计精华合集

有编译原理课程设计的大部分程序的报告,比如递归下降子程序,SLR(1)文法,算法优先表的构造,词法分析,还有算法优先分析的可视化程序.绝对物超所值!

2012-12-05

空空如也

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

TA关注的人

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