自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

In-My-World的专栏

越努力,越幸运。加油!

  • 博客(119)
  • 收藏
  • 关注

原创 谨记帖——勿眼高手低

本帖的程序再简单不过,然而,竟是面试时候踩的坑。。。真的不应该。。。不应该眼高手低,代码要敲完运行一下,检验错误。忽略了,记个教训。//链表逆置struct ListNode{ int val; ListNode *next;};ListNode* Creat_List(int a[],int n){ ListNode* p=new ListNode(); p->val=

2016-09-25 13:03:25 766

原创 精华帖——八人过河的程序实现

题目:一家六口,一个爸爸,一个妈妈,俩儿子,俩女儿,还有一个警察,一个坏蛋,过一条河。爸爸不在妈妈伤害儿子,妈妈不在爸爸伤害女儿,警察不在坏蛋伤害一家六口。只有妈妈爸爸警察会开船,一次只能过两个人,只有一艘船。用程序实现怎么过河。思路见程序:include#include #include using namespace std;/*总体思路:用一个9位的整数表示,

2016-09-25 12:56:15 4243 2

原创 绝对干货——2016面试总结篇(未完待续)

声明:本文系找工作以来,笔试面试题,只为广大毕业党做个参考。如有不妥之处,欢迎联系本人2016年THS的笔试题(只记得这些)1)在有序链表中,插入一个值n;2)统计英文文本中,单词的出现次数,要求,输出按照出现次数的降序输出。3)头文件里,定义全局变量和静态变量。会怎么样?4)阻塞与非阻塞IO的区别,举例说明应用场景。5)某个四位数的4倍等于它的反序数,输出这个四位数。

2016-09-25 12:30:38 889

原创 爬山-编程题

爬山时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 65536KB;其他语言 589824KB题目描述:小B曾经酷爱网络游戏,整日通宵达旦的玩游戏,导致身体素质急剧下降,因此下决心痛改前非,远离一切电子产品,并通过远足爬山的方式改变生活方式并提高身体素质。由于担心对身体造成太大的负荷,他总是选择最平坦的路径,并记录每天的行程情况及达到的最

2016-09-16 19:15:56 2287

原创 10进制转化为22进制

//*题目描述 Description //将十进制数n转换成m进制数 m<=16 //n<=100 //输入描述 Input Description //共一行 //n和m //输出描述 Output Description //共一个数 //表示n的m进制*/ #include #include using namespace std; int

2016-09-16 19:12:23 822

原创 2016京东校招

幸运数:时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 65536KB;其他语言 589824KB题目描述:4和7是两个幸运数字,我们定义,十进制表示中,每一位只有4和7两个数的正整数都是幸运数字。前几个幸运数字是:4,7,44,47,74,77,444,447…现在输入一个数字k,输出第k个幸运数样例输入3

2016-09-06 11:23:59 830

原创 多继承和虚继承中sizeof(类)

知识点十四、虚函数表和虚函数针    虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr指向一个被称为vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到vtbl。当一个对象调用了虚函

2016-08-25 17:15:23 1479

原创 求一个9位数(dfs)

百度面试题:1-9的9个数字,每个数字只能出现一次 要求这样一个9位数:其第一位能被1整除,前两位能被2整除,前三位能被3整除。。。。依次类推,前9位能被9整除。//动态规划#include <iostream>#include <vector>using namespace std;bool used[10];//关键字为i,键值为1,表示i已被用过;键值为0,表示i未被使用vector

2016-08-22 16:27:19 497

原创 深拷贝与浅拷贝的区别

在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存,采用深拷贝的情况下,释放内存的时候就不会出现在浅拷贝时重复释放同一内存的错误! 浅拷贝:对象的数据成员之间的简单赋值。 例如,设计了一个没有类而没有提供它的复制构造函数,当用该类的一个对象去给令一个对象赋值时所执行的过程就是浅拷贝,如: class A

2016-08-22 15:49:33 1299

原创 剑指Offer-复制复杂链表

//复杂链表的赋值#include using namespace std;struct comListNode{ int val; comListNode *next; comListNode *sib;};//第一步,复制原始链表的任一结点N,并创建新结点N‘,再把新结点N'连接到结点N后面void CloneNode(comListNode *phead

2016-08-22 11:00:08 330

原创 面试总结(C++基础)

C++面试知识点汇总:一、多态性:实现了“一个接口,多种方法”。程序在运行时才决定调用的函数。从实现的角度来讲,多态可以分为两类:编译时的多态性和运行时的多态性。前者是通过静态联编来实现的,比如C++中通过函数的重载和运算符的重载。后者则是通过动态联编来实现的,在C++中运行时的多态性主要是通过虚函数来实现的。1)虚函数:(1)因为虚函数使用的基础是赋值兼容,而赋值兼容成立的条件是派生

2016-08-18 22:02:53 974

原创 C++ STL 的底层实现

C++ STL 的实现:1.vector  底层数据结构为数组 ,支持快速随机访问2.list    底层数据结构为双向链表,支持快速增删3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限

2016-08-18 10:50:57 1848

原创 总结知识点(未完结)

知识点一、C语言与C++的区别是什么?1)C语言是面向过程,以事件为中心,采用自顶向下顺序执行,逐步求精。程序结构可划分为若干个功能模块,模块内部一般由顺序、选择和循环三种基本结构组成。模块形成树状结构,功能相对独立。利用子函数实现模块,而程序流程在写程序时就已经决定。举例子,五子棋。2)C++语言是面向对象,把数据及对数据的操作方法放在一起,作为一个整体对象。对同类对象抽象出其共性,即类

2016-08-17 20:11:23 660 1

原创 网易面试(C++基础)

一、strcpy函数的编写?(memcpy函数的编写)1)函数原型:extern char *strcpy(char *dest,const char *src);功能:将src所指由NULL结束的字符串复制到dest所指的数组中。位于string.h头文件里。注意:src和dest所指内存区域不可重叠,且dest必须有足够空间来容纳src的字符串;      src字符串尾结束标

2016-08-17 16:40:10 7392 1

原创 海量数据(自我总结)

一、字典树/Trie树:1.是一种用于快速检索的多叉树结构。Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。优点:最大限度地减少无谓的字符串比较,查询效率比哈希表高。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。2.三个基本特性:1)根节点不包含字符,除根节点外每一个节点都只包

2016-08-17 16:37:49 760 1

原创 内存分类总结

C/C++编程中,经常需要操作的内存分为以下几类: 栈区(stack):用于存放程序临时创建的局部变量,如函数的参数值、局部变量值等,由编译器自动分配释放。 堆区(heap):一般由程序员申请和释放。用于存放进程运行中被动态分配的内存段,大小不固定,可动态扩张或缩减。若程序员不释放,程序结束时,可能由操作系统回收,但最好还是由程序员释放。注意:它与数据结构中的堆是两回事,分配方式类似数据结构中的

2016-08-11 15:11:30 721

原创 两个栈实现一个队列的功能

/两个栈实现一个队列template<typename T>class myqueue{public: //默认构造函数 myqueue(void); //默认析构函数 ~myqueue(void); //队列入队 void appendtail(const T& node) { stack1.push(node); } //队列出队 T

2016-08-11 11:12:52 279

原创 双链表的建立,删除及插入

#include <iostream>#include <stdio.h>using namespace std;struct DoubleList{ int data; DoubleList *pre; DoubleList *next;};//双链表的建立DoubldeList *CreatList(){ DoubleList *head=new Dou

2016-08-10 23:21:52 716

原创 Leetcode题集——sort-colors

题目描述Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.Here, we will use the

2016-08-10 16:16:29 385

原创 Leetcode题集——search-a-2d-matrix

题目描述Write an efficient algorithm that searches for a value in an m x nmatrix. This matrix has the following properties:Integers in each row are sorted from left to right.The firs

2016-08-10 14:49:43 390

原创 Leetcode题集——set-matrix-zeroes

题目描述Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.click to show follow up.Follow up:Did you use extra space?A straight forward solution

2016-08-10 11:11:09 603

原创 C++如何实现只能动态分配类对象,不能定义类对象

动态分配类对象:就是使用运算符new来创建一个类的对象,在堆上分配内存。静态分配类对象:就是A a,由编译器创建类对象,在栈上分配内存。1)动态分配类对象把类的构造函数和析构函数设为protected属性。类对象不能访问,但是派生类可以继承,也可以访问。同时,创建create和destroy两个函数,用于创建类对象。(create函数设为static,原因是,创建对象的时候A *p

2016-08-09 15:49:25 3755

原创 单链表的基本操作(建立,输出及排序)

今天总结了一下单链表的基本操作:建立,求单链表长度,单//尾插法,新建一个链表ListNode *creatList( ){ ListNode *head,*p,*s; int x,cycle=1; head=new ListNode();//新建头结点, p=head;//p指向头结点 while(cycle)//当输入0时,停止链表的建立 {

2016-08-08 17:08:31 3600

原创 转换字符串格式

转换字符串格式为原来字符串里的字符+该字符连续出现的个数,例如字符串"1233422222",转换为1121324125(1出现1次,2出现1次,3出现2次,4出现1次,2出现5次)。解法:可通过sprintf语句,位于头文件中。与printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者直接打印到命令行输出。用法1):打印字符串。在大多数场合,可替代it

2016-08-08 14:19:44 727

原创 字符串的循环右移

题目来源:《程序员面试宝典》原来是“abcdefghi”,如果n=2,移位后应该是“hiabcdefg”。函数void LoopMove(char *pStr,int steps)//pStr是以‘/0’结尾的字符串,steps为要移动的n。解法一:利用strcpyvoid LoopMove(char *pStr,int steps){ int n=strlen(pStr

2016-08-07 21:30:54 397 2

原创 Leetcode题集——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:

2016-08-07 17:08:42 245

原创 Leecode题集——sqrtx

Implementint sqrt(int x).Compute and return the square root of x.直接遍历会超时,有两种方法:一是二分查找法,二是牛顿迭代法。方法一、二分查找法int sqrt(int x){ //鲁棒性检查,不合理输入 if(x<0) return -1; if(x==0) ret

2016-08-07 11:14:50 303

原创 单链表的翻转

//单链表翻转非递归法,返回翻转之后的头结点//方法一、带有头指针的单链表,原理:将第二个节点到最后一个节点依次插入到头结点之后ListNode* ListReverse(ListNode *head){ if(head==NULL) return NULL; ListNode *h=head; ListNode *p=h->next; h->next=NULL;/

2016-08-05 23:09:10 305

原创 Leetcode题集——plus-one

Given a number represented as an array of digits, plus one to the number.用数组表示的数字,将其+1,得到结果。跟Add Binary一样,从后往前检索,加上后进位。注意:但容器的话,插入要用insert函数。vector plusOne(vector &digits) { int n=di

2016-08-05 16:28:44 300

原创 Leetcode题集——minimum-path-sum

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.Note: You can only move either down or righ

2016-08-05 11:20:33 222

原创 Leetcode题集——unique-paths-ii

Follow up for "Unique Paths":Now consider if some obstacles are added to the grids. How many unique paths would there be?An obstacle and empty space is marked as1and0respectively in the grid.

2016-08-05 10:48:24 218

原创 Leetcode题集——unique-path

A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).The robot can only move either down or right at any point in time. The robot is trying to reach

2016-08-05 10:08:16 284

原创 Leetcode题集——Merge linked lists

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists./** * Definition for singly-linked list. * struct ListN

2016-08-04 21:02:09 320

原创 电脑上访问一个网页,整个过程是怎么样的

电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP当在浏览器输入http://www.mytest.com:81/mytest/index.html,幕后所发生的一切。首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。1.连接 当我们输入这样一个请求时,首先要建立一个

2016-08-04 16:30:34 9225

原创 Session的原理

什么是Sesson?简单说就是一个会话级的cookie,外加服务器端内存中一组散列表。当你关闭浏览器的时候,这个cookie将消失。这个cookie不写在磁盘上,而是存在于浏览器缓存。 关于Session的传说传说中,Web应用程序中的Session和Application保存服务器端,而cookie保存在客户端。其实Session同时存在于

2016-08-04 14:35:32 290

原创 HTTP的长连接与短连接

1. HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。2. 如何理解HTTP协议是无状态的

2016-08-04 14:13:45 302

转载 进程间通信方式

进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义

2016-08-03 21:43:48 319

原创 Leetcode题集——rotate-list

Given a list, rotate the list to the right by k places, where k is non-negative.For example:Given1->2->3->4->5->NULLand k =2,return4->5->1->2->3->NULL./** * Definition for singly-linked l

2016-08-03 16:16:47 282

原创 leetcode题集——spiral-matrix-ii

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For example,Given n =3,You should return the following matrix:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [

2016-08-03 14:35:51 225

原创 线程之间共享的内容

在一个进程的线程共享堆区,而进程中的线程各自维持自己堆栈。线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。    进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括:    1.线程ID

2016-08-02 23:18:41 2621

空空如也

空空如也

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

TA关注的人

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