笔试面试
JW2020
学生,就读于中国大陆UESTC,哈哈.....编程业余爱好者!
展开
-
华为、联想等名企笔试题总汇
■华为笔试题1.请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。 2.请你详细地解释一下IP协议的定义,在哪个层上面?主要有什么作用?TCP与UDP呢 ? 3.请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的? 4.请问C++的类和C里面的struct有什么区别? 5.请讲一讲析构函数和虚函数的用法和作用。 6.全局变量和局部变量有什么区别?是转载 2011-10-24 17:24:06 · 2690 阅读 · 0 评论 -
求一个字符串中出现的相同且长度最长的字符串,及其首字符的位置
思路:对源字符串所有后缀的所有子串,从每一个后缀的最长子串开始,分别从前向和后向开始在源字符串中查找匹配的子串,若两次查找位置不一致则说明存在重复的长度最长的字串,并返回前向查找时的位置。e.g. string = “abcedfghiabckl‘,当使用子串”abc“在源字符串中分别前向和后向匹配时,找到的位置分别为pos1=0, pos2 = 9.//求一个字符串中出现的相同且长度原创 2012-07-30 21:11:06 · 3939 阅读 · 1 评论 -
求一个字符串中连续出现次数最多的字串
思想:以字符串“abcbcbcabc”为例step 1. 穷举出源字符串的所有后缀:substr[0] =abcbcbcabcsubstr[1] =bcbcbcabcsubstr[2] =cbcbcabcsubstr[3] =bcbcabcsubstr[4] =cbcabcsubstr[5] =bcabcsubstr[6] =cabcsubstr[7] =abc转载 2012-07-29 21:52:03 · 1263 阅读 · 0 评论 -
转换字符串格式为:源字符串里的字符+该字符连续出现的个数
e.g. 123342222,转换为1121324124利用sprintf()函数,将任意整数打印到字符串中void ConvertStr(char * pStr, char * pOutput){ char * pCurrent =pStr; char * pNext; int nCount = 1; int i = 0; while (*pCurrent != '\0'原创 2012-08-05 21:05:34 · 2055 阅读 · 0 评论 -
将一句话里的单词进行逆置,标点符号不逆置
e.g "university of electronic science and technology of china“ 单词逆置为”china of technology and science electronic of university“void func(const char * pStr){ char *p1 = const_cast (pStr); int原创 2012-08-02 20:21:12 · 1881 阅读 · 0 评论 -
实现两个N*N矩阵的乘法,矩阵由一维数组表示
void MatrixMultiplication(int * pArry1, int *pArry2, int * pDestArry, int len){ int row ; int col; row= col = (int)sqrt((double)len); if (row * col != len) //矩阵不为方阵则提示矩阵无效 { cout << "Matrix I原创 2012-05-11 11:33:43 · 4670 阅读 · 0 评论 -
找到单项链表中间那个元素,如果有两个则取前面一个
单链表节点的数据结构:typedef struct _node{ int element; _node * next;}Node;//p为指向单链表的第一个节点Node * FindMiddleElement(Node * &p){ Node * head = p; int n = 0; while (head != NULL) //统计节点个数 { n++;原创 2012-05-11 19:20:53 · 2890 阅读 · 4 评论 -
判断单链表里面有没有环
题目:0.如何判断单链表里面是否有环?算法的思想是设定两个指针p, q,其中p每次向前移动一步,q每次向前移动两步。那么如果单链表存在环,则p和q相遇;否则q将首先遇到null。这里主要理解一个问题,就是为什么当单链表存在环时,p和q一定会相遇呢?假定单链表的长度为n,并且该单链表是环状的,那么第i次迭代时,p指向元素i mod n,q指向2i mod n。因此当i≡2i(mo转载 2011-07-07 21:59:17 · 643 阅读 · 0 评论 -
T(n) = 25T(n/5)+n^2的时间复杂度
对于T(n) = a*T(n/b)+c*n^k;T(1) = c 这样的递归关系,有这样的结论:if (a > b^k) T(n) = O(n^(logb(a)));logb(a)b为底a的对数if (a = b^k) T(n) = O(n^k*logn);if (a a=25; b = 5 ; k=2a==b^k 故T(n)=O(n^k*logn)=O(n转载 2012-05-10 11:04:19 · 3489 阅读 · 2 评论 -
腾讯官方微博出题,半小时写出程序可当初级程序员
腾讯官方微博出题,半小时写出程序可当初级程序员:某一游戏中有一把武器有1到9个等级,每次升级成功的概率为30%,失败的概率为70%,成功升1级,失败降1级,降到一级不能再降,升到9级不能再升,问1000次内升到9级的概率。原创 2012-01-09 21:04:28 · 1644 阅读 · 3 评论 -
青蛙跳台阶问题
(1)一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。(2)一只青蛙一次可以跳上1级台阶,也可以跳上2 级……它也可以跳上n 级,此时该青蛙跳上一个n级的台阶总共有多少种跳法?分析:1)当n = 1, 只有1中跳法;当n = 2时,有两种跳法;当n = 3 时,有3种跳法;当n = 4时,有5种跳法;当n = 5时,有8种跳法;原创 2012-01-08 11:32:59 · 30142 阅读 · 6 评论 -
二维数组中的查找
二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于数组不含有该数字,则返回false。原创 2012-01-05 20:40:27 · 1127 阅读 · 0 评论 -
模拟C函数库strstr()函数
函数返回一个指针,它指向字符串strCharSet首次出现于字符串string中的位置,如果没有找到,返回NULL。const char * MyStrStr(const char * string, const char * strCharSet){ char * p1 = const_cast (string); //去常量性 char * p2 = const_cast (str原创 2012-08-02 09:30:22 · 1016 阅读 · 0 评论