![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IT
文章平均质量分 64
亮建
这个作者很懒,什么都没留下…
展开
-
若干题目1
1.map中只有两个参数吗?2.虚函数执行原理3.4*4网格,只能向右或向上走一格,求从左下走到右上的种数4.dymanic_cast与static_cast,dymanic_cas除了转化的指针引用外还能转化普通类型?5.构造函数初始化列表中参数为哪些类型成员变量?6.vector实现原理7.excel表中有10*1000000个数据,可能很稀疏,用什么结构存储,如果要快原创 2017-04-28 08:09:06 · 267 阅读 · 0 评论 -
C++类模板分离模式
一般类的定义和实现组织方式:将定义放在.h文件中,实现放在.cpp文件中。C++中的模板是C++在发展过程中新添的新生力量,template的声明和实现不同于一般的类定义与实现和函数的声明与定义,故在含有模板的C++程序的组织方式就不同于一般的定义与实现相分离的方式。我曾经遇到的问题:1.当在GUN中编译时老是无法通过,错误信息大概是无法找到函数。然后将程序搬到VC6下编译,同转载 2017-04-28 09:56:20 · 652 阅读 · 0 评论 -
二叉排序和二叉查找
#include using namespace std;int Bsearch(int a[],int low,int high,int t){ while(low { int mid=(low+high)/2; if(a[mid]==t) { return mid;原创 2017-04-28 14:39:06 · 285 阅读 · 0 评论 -
若干题目2
当前标签: 笔试面试 2017春招实习总结SeeKHit 2017-04-28 11:47 阅读:23 评论:0 2017 趋势科技 研发4.26(offer)SeeKHit 2017-04-28 09:45 阅读:21 评论:0 2017 去哪儿网 研发4.18(offer)SeeKHit 2017-04-27 12:32 阅读转载 2017-04-30 18:48:42 · 269 阅读 · 0 评论 -
面——经1
本文的知乎链接:https://www.zhihu.com/question/29693016/answer/130237090 下面活动也已经结束了,奖品都已经发放出去~2017秋招进行时,牛妹特意为大家开放2017秋招面经专栏,同时面经活动也正在进行中,欢迎大家参与~~活动详情戳:http://www.nowcoder.com/discuss/11873?type=0&ord转载 2017-05-01 15:54:37 · 241 阅读 · 0 评论 -
并查集
#include using namespace std;int node[1000];void init(int n){ for(int i=1; i<=n; i++) node[i]=i;}int find(int x){ if(x==node[x]) return x; return node[x]=find(node[x原创 2017-05-03 10:15:56 · 176 阅读 · 0 评论 -
输出所有可能的全排列
#include #include using namespace std;int d[13];int v[13];int n;void dfs(int depth){ if(depth==n) { for(int i=0; i!=n; ++i) { cout<<d[i]; } c原创 2017-05-03 13:53:30 · 1068 阅读 · 0 评论 -
深搜输出可能的硬币组合
#include #include using namespace std;int total;int target;int cnt;int coin[4]= {1,2,5,10};vector ans;void dfs(int d)//索引号用来限制前面的钱数小于后面的,可以去除重复情况{ if(target==total) { cnt++;原创 2017-05-03 14:22:31 · 254 阅读 · 0 评论 -
深搜输出可能的硬币组合
#include #include using namespace std;int total;int target;int cnt;int coin[4]= {1,2,5,10};vector ans;void dfs(int d)//索引号用来限制前面的钱数小于后面的,可以去除重复情况{ if(target==total) { cnt++;原创 2017-05-03 14:23:38 · 198 阅读 · 0 评论 -
网易实习--编程题
网游中,装备强化是提升角色战力的常见方法。 现在你参与开发的游戏中也有这项功能,团队正在设计每件装备强化所能提升的战力及需要消耗的金币数。为了设计出一个合理的强化系统,决定先做一些强化模拟测试,而你现在就在是该模拟程序的开发者。 假设现在有n件可以同时穿戴的装备,对于第i件装备,最多可以强化mi 次,对于第i件装备的第j次强化,会增加fij 的战力,并需要消耗gij 个金币。现在给出所有装备的数据原创 2017-05-23 08:35:56 · 590 阅读 · 0 评论 -
根据前序中序序列构建二叉树
问题描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路: 在二叉树的前序遍历序列中,第一个数字总是树的根结点的值。但在中序遍历序列中,根结点的值在序列的中间,左子树的结点的值位于原创 2017-05-22 15:21:12 · 417 阅读 · 0 评论 -
重建二叉树
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2017-05-23 09:07:22 · 146 阅读 · 0 评论 -
C++构造函数初始化成员列表
C++初始化成员列表1.只能在构造函数初始化列表初始化的成员变量的类型? a.const成员变量 b.引用类型的成员变量 c.static不能在初始化列表中进行初始化 d.类成员变量中有自定义类型的变量最好在初始化列表中进行初始化2.初始化列表的顺序? 初始化列表的初始化顺序是依据类成员变量定义的顺序来决定的。3.关于static con原创 2017-05-23 16:40:51 · 240 阅读 · 0 评论 -
找出数组中每个数的右边第一个比它大的数
#include using namespace std;vector findMax(vectornum){ if(num.size()==0)return num; vectorres(num.size()); int i=0; stacks; while(i<num.size()) { if(s.empty()||nu原创 2017-05-23 19:51:21 · 4666 阅读 · 0 评论 -
快排
#include #include using namespace std;int partition(int a[],int low,int high){ int temp=a[low]; while(low<high) { while(low<high&&temp<a[high])--high; a[low]=a[high];原创 2017-05-04 15:20:53 · 197 阅读 · 0 评论 -
输出最长回文子序列字符数
#include using namespace std;int ans[1000][1000];int dfs(string a){ string ra=a; reverse(a.begin(),a.end()); memset(ans,0,sizeof(ans)); for(int i=0; i<a.size(); i++) for(in原创 2017-05-04 15:36:00 · 406 阅读 · 0 评论 -
输出最长回文串字符数
#include using namespace std;int ans[1000*2];string change(string a){ string b; b+='$'; b+='#'; for(int i=0;i<a.size();i++) { b+=a[i]; b+='#'; } return原创 2017-05-04 16:40:50 · 402 阅读 · 0 评论 -
数轴上覆盖最多点的数目
#include using namespace std;int getmaxcover(int a[],int n,int L){ int start=0; int end=1; int maxcover=-1; while(end<n) { if(a[end]-a[start]<=L) {原创 2017-05-04 17:17:47 · 649 阅读 · 0 评论 -
I/O多路复用
知乎用户150 人赞同了该回答题主是看redis相关书籍碰到了困惑,那就结合redis源码来回答题主这个问题。redis源码地址:antirez/redis · GitHub关于I/O多路复用(又被称为“事件驱动”),首先要理解的是,操作系统为你提供了一个功能,当你的某个socket可读或者可写的时候,它可以给你一个通知。这样当配合非阻塞的socke转载 2017-04-22 16:38:20 · 336 阅读 · 0 评论 -
快速排序
#include using namespace std;void findMedium(int num[],int start,int end){ if(start>=end)return; int temp=num[start]; int i=start,j=end; while(i<j) { while(i<j&&temp<=nu原创 2017-05-24 09:52:11 · 176 阅读 · 0 评论 -
二叉树最近公共父节点
#include using namespace std;struct TreeNode{ int val; TreeNode*left; TreeNode*right; TreeNode(int x): val(x),left(NULL),right(NULL) {}};int k;int x,y;void create(TreeNo原创 2017-05-24 11:10:38 · 464 阅读 · 0 评论 -
二叉树最近公共父节点
#include using namespace std;struct TreeNode{ int val; TreeNode*left; TreeNode*right; TreeNode(int x): val(x),left(NULL),right(NULL) {}};int k;int x,y;void create(TreeNo原创 2017-05-24 13:27:35 · 341 阅读 · 0 评论 -
二叉排序树数值最接近节点
struct Node{ int value; Node* left; Node* right;};Node* LeftPrev = NULL;Node* RightPrev = NULL;Node* GetNearestNode(Node* root, int k){ if(NULL == root) { return NULL原创 2017-05-24 13:55:12 · 390 阅读 · 0 评论 -
windows内存管理的机制以及优缺点
分页存储管理基本思想:用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。分段存储管理基本思想:将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配。段页式存储管理基本思想:转载 2017-04-23 20:16:47 · 386 阅读 · 0 评论 -
僵尸进程
问:Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免? 一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。 在Linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存转载 2017-04-23 20:19:40 · 103 阅读 · 0 评论 -
TCP/IP
第一部分:TCP/IP相关知识点对TCP/IP的整体认 链路层知识点 IP层知识点 运输层知识点 应用层知识点 (这些知识点都可以参考:http://www.cnblogs.com/newwy/p/3234536.html)第二部分:常见面试题TCP协议和UDP协议的区别是什么TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三转载 2017-04-23 20:30:58 · 204 阅读 · 0 评论 -
const与static
const成员函数作用1. 不能修改类的成员变量,同时不能调用类的非const成员函数。(const成员函数中,this的类型是一个指向const类类型对象的const指针,const成员函数返回*this作为一个const引用)。2. 提供了基于const的重载。const对象只能使用const成员函数。非const对象可以使用任一成员,但非const版本是一个更好的匹配。con转载 2017-04-23 20:35:36 · 229 阅读 · 0 评论 -
僵尸进程
问:Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免? 一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。 在Linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存转载 2017-04-23 20:44:57 · 213 阅读 · 0 评论 -
百度字符移位
//把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。#includeusing namespace std;int main(){ int i,j; string a; while(cin>>a) { int len=a.size(); j=a.size()-1; whi原创 2017-05-05 19:28:10 · 162 阅读 · 0 评论 -
baidu差最小的有多少对呢?差最大呢?
//小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?#includeusing namespace std;int main(){ int n; while(cin>>n) { int i,j,x; mapa; map::iterator it; map::i原创 2017-05-05 20:44:30 · 207 阅读 · 0 评论 -
约瑟夫环
#include#includeusing namespace std;int josef(int n,int m){if(n==0||m==0)return -1;if(n==1)return 1;int i,j;list L;for(i=0;iL.push_back(i+1); list::iterator it=L.begin();for原创 2017-04-23 21:35:12 · 229 阅读 · 0 评论 -
设计模式C++原型模式
问题描述看到这个模式,很容易想到小时候看的《西游记》,齐天大圣孙悟空发飙的时候可以通过自己头上的 3 根毛立马复制出来成千上万的孙悟空, 对付小妖怪很管用(数量最重要)。Prototype 模式也正是提供了自我复制的功能, 就是说新对象的创建可以通过已有对象进行创建。在 C++中,拷贝构造函数( Copy Constructor) 曾经是很对程序员的噩梦,浅层拷贝和深层拷贝的魔魇也是很多程转载 2017-04-24 11:48:38 · 270 阅读 · 0 评论 -
设计模式C++单例模式
问题描述Singleton 模式解决问题十分常见, 我们怎样去创建一个唯一的变量( 对象)?在基于对象的设计中我们可以通过创建一个全局变量(对象) 来实现,在面向对象和面向过程结合的设计范式(如C++中)中,我们也还是可以通过一个全局变量实现这一点。但是当我们遇到了纯粹的面向对象范式中,这一点可能就只能是通过Singleton模式来实现了,可能这也正是很多公司在招聘 Java 开发人员时候经常转载 2017-04-24 11:51:58 · 229 阅读 · 0 评论 -
设计模式C++抽象工厂模式
问题描述假设我们要开发一款游戏, 当然为了吸引更多的人玩, 游戏难度不能太大(让大家都没有信心了,估计游戏也就没有前途了),但是也不能太简单(没有挑战性也不符合玩家的心理)。于是我们就可以采用这样一种处理策略: 为游戏设立等级,初级、中级、高级甚至有BT 级。 假设也是过关的游戏, 每个关卡都有一些怪物( monster) 守着, 玩家要把这些怪物干掉才可以过关。 作为开发者, 我们就不得不创转载 2017-04-24 14:13:57 · 262 阅读 · 0 评论 -
设计模式C++简单工厂模式
问题描述在面向对象系统设计中经常可以遇到以下的两类问题:1)为了提高内聚(Cohesion)和松耦合(Coupling),我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们可以通过声明一个指向基类的指针来指向实际的子类实现, 达到了多态的目的。这里很容易出现的一个问题 n 多的子类继承自抽象基类, 我们不得不在每次要用到子类的地方就编写诸如 new ×××;的代码。这转载 2017-04-24 14:16:08 · 353 阅读 · 0 评论 -
设计模式C++观察者模式
Observer 模式应该可以说是应用最多、影响最广的模式之一,因为 Observer 的一个实例 Model/View/Control( MVC) 结构在系统开发架构设计中有着很重要的地位和意义, MVC实现了业务逻辑和表示层的解耦。在 MFC 中, Doc/View(文档视图结构)提供了实现 MVC 的框架结构。在 Java 阵容中, Struts 则提供和 MFC 中 Doc/View转载 2017-04-24 14:18:48 · 206 阅读 · 0 评论 -
工厂方法模式
介绍在简单工厂模式中,我们提到,工厂方法模式是简单工厂模式的一个延伸,它属于Gof23中设计模式的创建型设计模式。它解决的仍然是软件设计中与创建对象有关的问题。它可以更好的处理客户的需求变化。引入我们继续来说"new"的问题,我们在简单工厂模式中,将实例化对象的工作推迟到了专门负责创建对象的工厂类中,这样,在我们事先预知的情况下,可以根据我们的需要动态创建产品类。但是,我们的预知是有限转载 2017-04-24 16:19:47 · 292 阅读 · 0 评论 -
单例模式加锁与不加锁实例C++
1 教科书里的单例模式 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代劳,该方法也返回单例类唯一的实例。 上代码: ?1234567891011转载 2017-04-24 18:06:42 · 5861 阅读 · 1 评论 -
3Sum
class Solution {public: vector> threeSum(vector& nums) { vector >ans; if(nums.size()<3)return ans; sort(nums.begin(),nums.end()); for(int a=0; a<nums.size()-2; a++) {原创 2017-05-15 14:49:53 · 167 阅读 · 0 评论 -
若干题目2
五一过后,便返回学校了。返回学校之后,便是疯狂的刷题,复习以前的知识。数据结构、操作系统、计算机网络、linux、C++等。唉,复习的想吐了,都有想撕书的冲动了。终于,这艰难的几天过去了,周六来了。好激动啊。因为10点面试,早上8点起床,整理了一番后,蓄势待发。找了一间比较安静的教室,大概也就9点10分了。看了几眼书,其实根本就看不进去。开始把耳机拿出来,等着电话过来,啊啊啊,但是悲剧了,耳机是耳转载 2017-05-25 15:37:22 · 216 阅读 · 0 评论