随笔分类 -  面试

摘要:原文链接:https://blog.csdn.net/whereisherofrom/article/details/109404193 阅读全文
posted @ 2022-05-04 12:14 simon1024 阅读(25) 评论(0) 推荐(0)
摘要:摘自:https://blog.csdn.net/bigtree_3721/article/details/82945924 一般人见到这种题目,立马就会想到指针交换。是的,大家被指针交换的题目做多了,形成思维定势了。对于这道题,我们完全可以利用值交换来达到排序的目的。当然,怎么值交换? 很多人得第 阅读全文
posted @ 2022-04-14 10:36 simon1024 阅读(50) 评论(0) 推荐(0)
摘要:优点: (1)拉链法处理冲突简单,且无堆积现象,即非同义词决不会发生冲突,因此平均查找长度较短; (2)由于拉链法中各链表上的结点空间是动态申请的,故它更适合于造表前无法确定表长的情况; (3)开放定址法为减少冲突,要求装填因子α较小,故当结点规模较大时会浪费很多空间。而拉链法中可取α≥1,且结点较 阅读全文
posted @ 2020-10-20 10:11 simon1024 阅读(367) 评论(0) 推荐(0)
摘要:原文:https://www.sohu.com/a/120595688_465979 Vector 就像是 C++ STL 容器的瑞士军刀。Bjarne Stoutsoup 有一句话 – “一般情况下,如果你需要容器,就用 vector”。像我们这样的普通人把这句话当作真理,只需要照样去做。然而,就 阅读全文
posted @ 2018-07-04 21:15 simon1024 阅读(13449) 评论(0) 推荐(0)
摘要:1. 进程的状态,僵死进程 http://blog.csdn.net/nilxin/article/details/7437671 http://baike.baidu.com/link?url=6p9NTARJI51aL6dokyYcZbvydGMDjCTIO2NjCZc0mBtGKSo8ESRl 阅读全文
posted @ 2017-06-05 07:23 simon1024 阅读(426) 评论(0) 推荐(0)
摘要:示例代码对以下两种情况进行了说明: 1. 继承时改变虚函数的权限; 2. 私有继承; 阅读全文
posted @ 2016-11-06 11:09 simon1024 阅读(230) 评论(0) 推荐(0)
摘要:题目:从源字符串中删除给定的字符串“ab”,如源字符串为“fbaabbcdab”,删除“ab”后为“fbcd”。要求:不能使用string,不用递归,时间复杂度O(n)。分析:此题借鉴微软的一道面试题,采用快慢指针实现一次扫描完成删除操作。与微软那道题目不同的是,此题的慢指针存在回退的情况。void deleteab(char* str){ if (str == NULL) return; char* s = str; char* f = str+1; //标兵 char pacer = '0'; while( *s!='\0' ) { if( *s!=' 阅读全文
posted @ 2013-08-25 16:23 simon1024 阅读(474) 评论(0) 推荐(0)
摘要:题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。分析:这是一道微软面试题。在微软的常见面试题中,与字符串相关的题目占了很大的一部分,因为写程序操作字符串能很好的反映我们的编程基本功。要编程完成这道题要求的功能可能并不难。毕竟,这道题的基本思路就是在第一个字符串中拿到一个字符,在第二个字符串中查找一下,看它是不是在第二个字符串中。如果在的话,就从第一个字符串中删除。但如何能够把效率优化到让人满意的程度,却也不是一件容易的事情。也就是说,如何在第一个字符 阅读全文
posted @ 2013-08-25 15:13 simon1024 阅读(213) 评论(0) 推荐(0)
摘要:在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容chara='A';//globalvariablevoidmsg(){printf("Hello\n");}下面是main.c的内容intmain(void){externchara;//externvariablemustbedeclaredb 阅读全文
posted @ 2013-08-20 19:00 simon1024 阅读(137) 评论(0) 推荐(0)
摘要:待写 阅读全文
posted @ 2013-08-14 11:14 simon1024 阅读(342) 评论(0) 推荐(0)
摘要:题目:列出九宫格键盘输入的所有字母组合思路:将字母的组合看成k进制的数,列出字母组合的过程即为对数进行加法运算。#include #include #include char* letter[] = {"abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};void listAll(char* input){ int len = strlen(input); int total = 1; i 阅读全文
posted @ 2013-08-09 08:19 simon1024 阅读(413) 评论(0) 推荐(0)
摘要:bool BinTree::is_avl(BintreeNode *r, int& height){ if (r == NULL) { height = 0; return true; } int hl,hr; bool is_avl_left = is_avl(r->get_left(), hl); if ( !is_avl_left ) return false; bool is_avl_right = is_avl(r->get_right(), hr); if ( !is_avl_right ) return false; int max = hl>hr ? 阅读全文
posted @ 2013-08-09 08:17 simon1024 阅读(186) 评论(0) 推荐(0)
摘要:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。(1) 第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。(2) 第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。(3) 第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。完成三次握手,客户 阅读全文
posted @ 2013-08-03 16:49 simon1024 阅读(167) 评论(0) 推荐(0)
摘要:1.已知链表的头结点head,写一个函数把这个链表逆序[cpp]viewplaincopyvoidList::reverse(){list_node*p=head;list_node*q=p->next;list_node*r=NULL;while(q){r=q->next;q->next=p;p=q;q=r;}head->next=NULL;head=p;}递归方法:[cpp]viewplaincopyvoidList::reverse2(list_node*curnode){if(curnode==NULL)curnode=head;if(curnode->n 阅读全文
posted @ 2013-05-23 18:56 simon1024 阅读(222) 评论(0) 推荐(0)
摘要:12345678910111213141516171819202122232425262728293031structBinaryTreeNode{intvalue;BinaryTreeNode*left,*right;};booldoestree1havetree2(BinaryTreeNode*root1,BinaryTreeNode*root2);boolhassubtree(BinaryTreeNode*root1,BinaryTreeNode*root2){//noticethatresultisstaticstaticboolresult=false;if(root1!=NULL& 阅读全文
posted @ 2013-05-23 18:53 simon1024 阅读(115) 评论(0) 推荐(0)
摘要:GivenaBST(BinarysearchTree)howwillyoufindmedianinthat?Constraints:*Noextramemory.*Functionshouldbereentrant(Nostatic,globalvariablesallowed.)*Medianforevennoofnodeswillbetheaverageof2middleelementsandforoddnooftermswillbemiddleelementonly.*Algorithmshouldbeefficientintermsofcomplexity.中文不需要赘述了,就是二叉搜 阅读全文
posted @ 2013-05-23 18:00 simon1024 阅读(1383) 评论(0) 推荐(0)
摘要:将一个整数拆分成不重复的整数之和。example:6=1+5=1+2+3=2+4采用递归方法实现。12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#include<iostream>#include<vector>usingnamespacestd;/**6=1+5=1+2+3=2+4**/voidsplit(i 阅读全文
posted @ 2013-05-23 17:56 simon1024 阅读(214) 评论(0) 推荐(0)
摘要:方法一、不用栈void reverseChar(char* str, int len){ char* q = str+len-1; char* p = str; if (!len) return; while( pst;stackword;char*p=str;st.push('\0');while(*p!='\0'){while(*p=='')st.push(*p++);if(*p=='\0')break;while(*p!='\0'&&*p!='')word.push(*p++) 阅读全文
posted @ 2013-05-23 17:42 simon1024 阅读(319) 评论(0) 推荐(0)
摘要:问题:求字符串str1,str2的最长公共子串的长度。1.动态规划方法算法:定义二元函数函数f(m,n):分别以str1[m],str2[n]结尾的连续公共子串的长度而对于f(m+1,n+1)有以下两种情况1.str1[m+1]!=str2[n+1],则有f(m+1,n+1)=02.str1[m+1]==str2[n+1],则有f(m+1,n+1)=f(m,n)+1另外f(0,j)=0(j>=0)f(j,0)=0(j>=0)算法的c++代码实现如下:12345678910111213141516171819202122232425262728293031intcommstr(cha 阅读全文
posted @ 2013-05-23 17:40 simon1024 阅读(191) 评论(0) 推荐(0)
摘要:作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结。有任何问题,欢迎交流、指正。出处:http://blog.csdn.net/v_JULY_v。第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以 阅读全文
posted @ 2013-05-23 15:23 simon1024 阅读(468) 评论(0) 推荐(0)