- 博客(265)
- 资源 (6)
- 收藏
- 关注
转载 广搜与深搜
深搜和广搜--原理彼此的优缺点一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解", 而深搜用于找多个解或者是"步数已知(好比3步就必需达到前提)"的标题,它的空间效率高,然则找到的不必定是最优解,必需记实并完成全数搜索,故一般情况下,深搜需要很是高效的剪枝(优化).像搜索最短路径这些的很显著是用广搜,因为广搜的特征就是一层一层往下搜的
2017-06-19 15:58:46
892
原创 二叉树中两节点最近公共父节点
//二叉树任意两节点最近公共父节点#include using namespace std;struct Node{ int val; bool visit; struct Node*left; struct Node*right; Node(int i):val(i),visit(false),left(NULL),right(NULL) {}}
2017-06-19 15:14:14
537
原创 满二叉排序树任意三个节点最近公共父节点
#include using namespace std;int tree[1024*1024];int k;int a,b,c;int power2(int n){ int i=1; int j; for(j=0; j<n; j++) i=i*2; return i;}int get_xiabiao(int n){ in
2017-06-19 14:46:31
670
原创 满排序二叉树任意三个节点最低公共父节点
#include using namespace std;int tree[1024*1024];int k;int a,b,c;int power2(int n){ int i=1; int j; for(j=0; j<n; j++) i=i*2; return i;}int get_xiabiao(int n){ in
2017-06-19 14:44:52
492
转载 二叉树最近公共父节点(记录根到某一节点路径)
题目:二叉树的结点定义如下: struct TreeNode { int m_nvalue; TreeNode* m_pLeft; TreeNode* m_pRight;};输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。 分析:求数中两个结点的最低共同结
2017-06-19 10:59:55
487
转载 面试题杂烩
linux和os:netstat :显示网络状态tcpdump:主要是截获通过本机网络接口的数据,用以分析。能够截获当前所有通过本机网卡的数据包。它拥有灵活的过滤机制,可以确保得到想要的数据。ipcs:检查系统上共享内存的分配ipcrm:手动解除系统上共享内存的分配awk sed共享内存的使用实现原理(必考必问,然后共享内存段被映射进进程空间之后,存在于进程空间的什么位
2017-06-19 10:39:55
309
转载 关于面试经常被问到的socket的TIME_WAIT状态的原因及解决办法和避免的办法
一查看现在time_wait的数量及浅析 netstat -an | grep TIME_WAIT | wc -l 发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,在 /etc/sysctl.conf中加入 net.ipv4.tcp_tw_recycle = 1 (表示开启TCP连接中TIME-WAIT so
2017-06-19 10:23:26
528
转载 STL vector容器自己实现
本文参考了侯捷的 《STL 源码分析》一书,出于兴趣,自行实现了简单的 vector 容器。之后会陆续上传 list, deque 等容器的代码,若有错误,欢迎留言指出。vector 容易实现的几点注意事项:1. 由于vector 是动态数组。出于效率的考虑,在往vector 中加入元素时,内存的扩展遵循的规则是: 1> 如果当前可用内存不够,开 2倍大的内存,将原
2017-06-19 10:14:32
307
转载 N的阶乘末尾有多少个零
问题:N的阶乘(N!)中的末尾有多少个0? 例如:N = 5,N! = 120.末尾有1个0. 分析:想到这个问题,有人可能第一反应就是现求出N!,然后再根据求出的结果,最后得出N!的末尾有多少个0。但是转念一想,会不会溢出,等等。 其实,从"那些数相乘可以得到10"这个角度,问题就变得比较的简单了。 首先考虑,如果N的阶乘为K和10的M次方的乘
2017-06-19 10:10:02
604
转载 腾讯实习内推
腾讯电话一面(32min)问得都是有关Linux下的网络编程和系统编程问题,范围很广但是不深,不难回答。1 select,poll,epoll的区别;2 进程通信的IPC种类;3 有名管道和无名管道的区别;4 进程和线程的区别; 5 线程的私有栈空间;6 简述TCP通信中服务端和客户端的API;7 TCP中的三路握手;8C语言中的static修饰符;9 进程间如何传递文件描述符;10
2017-06-19 09:52:46
809
转载 c++总结2
1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。extern "C"是连接申明(linkage declaration),被
2017-06-19 09:45:53
357
转载 腾讯面试总结3
4月份折腾了一个月,本来打算一周更新一次的设计模式也没有更新,完全让给了春招的实习招聘。那就总结一下我的春招吧。 我的春招只能用一个词来形容:惨不忍睹。好几个公司的笔试都过不了,不过这不怪我啊,笔试出的题太抠细节了。唯一笔试过了的公司就是腾讯,估计是笔试的要求比较低。 3月28日腾讯内推截止,本来有同学在腾讯可以内推的,但是估计自己的简历筛选都没有过,连一个内推的面试都没有。这样的
2017-06-19 09:39:41
848
转载 腾讯安全技术岗初试
1.前言2016.4.11日广州参加了腾讯的CC++后台技术一面,安全技术类的面试。面试官人很温和,经历了大概70分钟的问答,特将遇到的面试问题汇总如下,自己总结学习,亦供网友参考。2.问题汇总问题一: 不好意思,我有事,先处理一下,你先写个非递归二分查找。 答: 之前遇到过这个问题,有所了解。感觉很多面试的第一个问题都是先写段代码。因此,手写代码感觉很重要,因为这是给面试
2017-06-19 09:38:05
3310
1
原创 面试总结4
网络问题列表1、http/https有什么区别?2、tcp的三次握手和四次挥手?3、tcp和udp的区别?4、user-agent的作用?算法基础问题列表1、深度优先遍历和广度优先遍历的区别?2、手写一个二叉搜索树?3、手写一个堆排序?4、手写一个快速排序?5、手写一个归并排序?6、手写一个选择排序?7、手写一个插入排序?8、手写一个冒泡
2017-06-19 09:32:31
2669
转载 腾讯后台面试
Linux和os:*、netstat tcpdump ipcsipcrm 点击打开链接*、cpu内存硬盘等等与系统性能调试相关的命令 点击打开链接*、设置修改权限tcp网络状态查看各进程状态抓包相关等相关命令 tcpdump netstat ps……awk sed需掌握*、共享内存的使用实现原理 点击打开链接 必考必问*、c++进程内存
2017-06-19 09:29:15
313
转载 c++面试总结1
北京掌上飞鱼,做游戏,里面很多工大学长,学长对我挺照顾的,还给我规划了职业。。工资方面不比百度差。。最好笑的,他们公司就在百度对面。。虽然最后还是拒了人家,但是还是很喜欢这公司的。。顺便给他们做个广告吧。。主要面的是C++,过后总结下吧~~有些答案结合了网上的“标准答案”给出的。。嘻嘻,不是抄袭,是借鉴哦~~1.谈谈你对C++内存分配的理解
2017-06-19 09:19:09
253
转载 面试题总结3
0.背景博主本人 2015 年毕业于郫县某 985 大学通信工程系,因为大学期间一直自己创业所以错过了大四秋招春招,毕业后又在北京继续创业一年,但在创业公司一直无法沉淀技术累积,于16年年底萌生进大公司学习的想法,于是从16年年底开始通过社招找工作。虽然大学就开始做研发,但无奈简历只看毕业工作经验,所以本人简历只有一年工作经验。在此总结一篇文章给各位参考;1.阿凡题应该算是人生第一
2017-06-19 09:11:24
1535
转载 面试题总结2
一位自学生的努力与梦想求职历程:只面了两间,都是一轮笔试+三轮面试,拿到心仪公司offer后就木有参加其他面试了。1、淘宝(研发工程师)终面后被BS,那RP…。2、腾讯(后台开发工程师)成功拿到offer。学习经历:作为一个非计科专业的学生,三年自学血泪史历历在目。没人指导,靠自己摸搜,走过很多歪路,不被同学朋友理解,被老师当问题学生,被早学几年的前辈嘲笑。一度怀疑自己
2017-06-19 09:08:09
411
转载 面试题总结1
1.介绍一下信号量和互斥锁信号量 互斥锁 条件变量的区别信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作
2017-06-19 09:05:29
7191
转载 腾----讯----面----试1
简单归纳:fd只是一个整数,在open时产生。起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp。文件描述符的操作(如: open)返回的是一个文件描述符,内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用;而流(如: fopen)返回的是一个FILE结构指针, FILE结构是包含有文件描述符的,FILE结构函数可
2017-06-19 08:48:38
662
转载 单链表快速排序
单链表的特点是:单向。设头结点位head,则最后一个节点的next指向NULL。如果只知道头结点head,请问怎么将该链表排序? 设结点结构为[cpp] view plaincopystruct Node{ int key; Node* next; };
2017-06-16 19:20:39
216
原创 从尾到头打印链表(五种方法包括链表翻转、递归、栈、容器逆序)
/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/class Solution {public: vectorv;
2017-06-16 15:50:04
235
原创 求解立方根
#includeusing namespace std;double Fab(double n){ if(n<0)return -n; return n;}int main(){ double n; double start,end,mid; while(cin>>n) { if(n<0) {
2017-06-16 11:04:44
327
原创 最小公倍数
#includeusing namespace std;long long gcd(long long a,long long b){ if(b==0)return a; return gcd(b,a%b);}int main(){ long long a,b; while(cin>>a>>b) { cout<<a/gcd(a,b
2017-06-16 10:32:19
191
原创 字符逆序
#includeusing namespace std;int main(){ string a; while(getline(cin,a)!=NULL) { reverse(a.begin(),a.end()); cout<<a<<endl; } return 0;}
2017-06-16 10:25:46
219
原创 记负均正II
#includeusing namespace std;int a[1000000];int main(){ int n,cnt1=0,cnt2=0,sum=0; while(scanf("%d",&a[n])!=EOF) { if(a[n]<0)cnt1++; else { sum+=a[n]
2017-06-16 10:19:49
200
原创 分割字符串
#includeusing namespace std;int main(){ int n; string a; while(cin>>n) { while(n--) { cin>>a; int add; if(a.size()%8)add=8-a.size
2017-06-16 10:09:41
181
原创 最长递增子序列
//方法一:直接动态规划#includeusing namespace std;int main(){ int n,dp[1000]; while(cin>>n) { vector v(n); memset(dp,0,sizeof(dp)); for(int i=0; i<n; i++) cin
2017-06-16 09:39:55
180
原创 最长递增子序列
问题给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4.解法1:最长公共子序列法这个问题可以转换为最长公共子序列问题。如例子中的数组A{5,6, 7, 1, 2, 8},则我们排序该数组得到数组A‘{1, 2, 5, 6, 7,
2017-06-16 09:19:58
289
原创 字符统计
#includeusing namespace std;struct Node{ char c; int cnt;}p,m[500];bool cmp(const Node&a,const Node&b) { if(a.cnt>b.cnt)return true; else if(a.cnt==b.cnt) { if(a.c<
2017-06-16 08:09:51
171
原创 输入整型数组和排序标识,对其元素按照升序或降序进行排序
#includeusing namespace std;int main() { int n; while(cin>>n) { vectorv(n); for(int i=0;i<n;i++) cin>>v[i]; int m; cin>>m; sor
2017-06-16 08:08:56
455
原创 等差数列
#includeusing namespace std;int main() { int n; while(cin>>n) { if(n<=0)cout<<"-1"<<endl; else { cout<<(2+(n-1)*3+2)*n/2<<endl;
2017-06-15 20:41:12
290
原创 自守数
#includeusing namespace std;string tostring(long long a) { string ans; do { ans+=a%10+'0'; a/=10; }while(a); return ans;}int main() { long long
2017-06-15 20:31:06
277
原创 记负均正
#includeusing namespace std;int main() { int n; while(cin>>n) { int sum=0; int cnt1=0; int cnt2=0; int x; for(int i=0;i<n;i++)
2017-06-15 20:16:11
256
原创 表示数字
#includeusing namespace std;int main(){ string a; while(getline(cin,a)!=NULL) { string b; for(int i=0; i<a.size(); i++) if(a[i]='0') {
2017-06-15 20:04:46
182
原创 记票统计
#includeusing namespace std;int main(){ int n; int m; while(cin>>n) { vectorv; mapMap; string a; for(int i=0; i<n; i++) { cin>>a;
2017-06-15 19:41:43
171
原创 在字符串中找出连续最长的数字串
#includeusing namespace std;int main() { string a; while(cin>>a) { vectorv; string t=""; int Max=0; for(int i=0;i<a.size();i++) {
2017-06-15 19:18:25
285
原创 201301 JAVA 题目2-3级(走网格,从左上角到右下角)
#includeusing namespace std;long long C(long long n,long long m) { long long ans=1; for(long long i=0;i<m;i++) ans*=n-i; for(long long i=1;i<=m;i++) ans/=i; retur
2017-06-15 19:06:10
936
原创 201301 JAVA题目0-1级
#includeusing namespace std;int Fab(int n){ if(n<0)return -n; return n;}bool dfs(int i,int sum,vector&v,int ans){ if(i==v.size()) { if(ans==sum)return true; else
2017-06-15 18:55:39
357
原创 密码强度等级
#includeusing namespace std;int main(){ string a; while(getline(cin,a)!=NULL) { int lenNum=0; int zimuNum=0,zimuFlag=0,zimu[2]; int shuziNum=0,shuziFlag=0;
2017-06-15 15:58:07
583
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人