
面试
燕凌姣
以梦为马 不负韶华
展开
-
Careercup | Chapter 5
5.1 You are given two 32-bit numbers, N andM, and two bit positions, i and j. Write a method to insert M into Nsuch that M starts at bit j and ends at bit i. You can assume that the bits j through i转载 2014-06-30 18:04:14 · 690 阅读 · 0 评论 -
面试题三 二维数组中的查找
#include#includeusing namespace std;#define N 105bool IsExistNumber(int a[][N],int num,int n,int m){int iup,idown,j,mid;for(j=0;j{iup=0,idown=n-1;while(iup{mid=(iup+idown)/2;原创 2014-04-05 09:54:00 · 640 阅读 · 0 评论 -
面试题十 二进制中1的个数
#include#includeusing namespace std;int fun(int num){ int count=0; while(num) { if(num&0x80000000) count++; num } return count;}int原创 2014-04-06 22:33:17 · 582 阅读 · 0 评论 -
斐波那契数列
#include#includeusing namespace std;#define N 105int main(int argc,char*argv[]){ //freopen("input.txt","r",stdin); unsignedlong long a[N]={0},i; a[0]=0,a[1]=1;原创 2014-04-06 21:30:27 · 503 阅读 · 0 评论 -
Long Long、__int64使用总结
前言: 在16位环境下,int/unsigned int 占16位,long/unsigned long占32位 在32位环境下,int占32位,unsigned int占16位,long/unsigned long占32位何时需要使用: long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647,而unsigned范围是[0,2^3转载 2014-04-06 22:15:24 · 665 阅读 · 0 评论 -
面试题4 替换空格
#include#include#includeusing namespace std;#define N 1005void move(char ch[],int start){ int len=strlen(ch),i; for(i=len;i>=start;i--) { ch[i+2]=ch[i]; }}原创 2014-04-05 09:57:27 · 487 阅读 · 0 评论 -
旋转数组的最小数字
#include#includeusing namespace std;int main(int argc,char *argv[]){ freopen("input.txt","r",stdin); int min,cur,n,num; while(scanf("%d",&n)!=EOF) { for(int i=0;i原创 2014-04-06 21:06:40 · 498 阅读 · 0 评论 -
华中科技大学_2006保研___考研计算机_复试上机
1,排序题目描述: 对输入的n个数进行排序并输出。输入: 输入的第一行包括一个整数n(1 接下来的一行包括n个整数。输出: 可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。 每组测试数据的结果占一行。样例输入:41 4 3 2样例输出转载 2014-04-21 14:58:59 · 1474 阅读 · 0 评论 -
简记微软实习生面试
首先介绍下自己:小硕,2015年毕业,北邮,模式识别方向,本科是学通信的,计算机初等水平吧,熟练使用C++,了解STL吧,C#/Java/Python/R也都用过,面比较广,码农低等水准,复杂的算法看懂就不错了...(文章长些,不喜勿喷)2014年刚开学,实验时开学后没什么任务,年假里看了些安卓的书,于是花费5天用Andengine开发了一款小游戏,纯属自娱自乐了,“暗兽器”(象狮虎豹那种)。转载 2014-04-18 20:40:45 · 1194 阅读 · 0 评论 -
最长回文字符串
转自:回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。比如输入字符串 "google”,由于该字符串里最长的对称子字符串是 "goog”,因此输出4。1.问题解决的基本方法分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。 要判断一个字符串是不是转载 2014-04-18 19:25:54 · 921 阅读 · 0 评论 -
程序员面试100题之一:对称字符串的最大长度
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不相等,那该字符串肯定不是对称的。否则我们转载 2014-04-18 13:05:52 · 593 阅读 · 0 评论 -
用位运算解决字符串排列问题
在优快云博客看到一篇文章 是阿里实习生店面题通过观察题目 我得出了对于这个题要输出的子串存在一个规律:比如输出我们对所有的字符都以一位编码 则对于abcde 这样一个串 输出a记作00001(1) 输出b记作00010(2) 输出c记作00100(4) 输出d记作01000(8) 输出e则记作10000(16) 输出ab 则记作00011(3) 输出bc 则记作00110转载 2014-04-18 20:48:48 · 834 阅读 · 0 评论 -
微软实习生面试经验分享
从6月份开始投实习以来,参加了很多的笔试,如百度,人民搜索,有道,微软等还有些小公司,但几乎笔试都被鄙视了,前段时间终于交接出去自己的活儿,认真地学了下数据结构,每天写些小程序练习下,昨天总算是派上用场了,这次面试也让我重树自信,因为前几次的打击让我快没一点自信了,呵呵,废话少说,下面我说一下本人这次找微软实习的经历。 微软实习生面试经历:以外电面 7月26号,我请假正陪同学看转载 2014-04-18 20:45:36 · 1800 阅读 · 0 评论 -
2012微软实习生面试经历
虽然微软实习生面试已经过了二十多天了,可是每每想起自己错失了天大的机遇,而常常悔恨。如果二面的时候,不那么2B不问清题目,不自作聪明,也许我就进了,如果三面的时候那么一道简单的题,如果不那么紧张不那么急躁,也许我也就进了微软实习生了。哎,可惜人生没有如果。。把自己的面试经历记录下来,为九月份正式找工作当做经验积累。 笔试 微软笔试总体感觉不难,20道选择题,不过就是如果你做转载 2014-04-18 20:41:57 · 1088 阅读 · 0 评论 -
最长连续回文串(Longest Palindromic Substring)
转自:http://blog.youkuaiyun.com/hopeztm/article/details/7932245题目: Given a string S, find the longest palindromic substring in S.给出一个字符串S,找到一个最长的连续回文串。例如串 babcbabcbaccba 最长回文是:abcbabcb转载 2014-04-18 19:12:00 · 763 阅读 · 0 评论 -
2012年百度实习生笔试面试
转自:http://blog.youkuaiyun.com/uestcleo/article/details/7556738笔试5月6号,百度笔试,6到题,三道简答题,第一题,是mary 和amry这种事兄弟单词,查询给定的单词,在字典中它有多少个兄弟单词。用hash或者trie树都可以解第三题是C++和C的分配内存有什么区别,第四题是两单链表是否相交,第5题是给的一个图然转载 2014-04-18 20:46:46 · 852 阅读 · 0 评论 -
面试题7 用两个栈实现队列
#include#includeusing namespace std;#define N 100005int stack1[N],top1=-1;int stack2[N],top2=-1;void pushQueue(int num){ stack1[++top1]=num;}int frontQueue(){ if(top2==-1原创 2014-04-06 20:41:14 · 550 阅读 · 0 评论 -
面试题5 从尾到头打印链表
#include#include#include#includeusing namespace std;struct List{ int data; struct List *next; List() { next=NULL; }};void ListInsertNode(List *pHead,i原创 2014-04-06 10:28:57 · 501 阅读 · 0 评论 -
C++深复制和浅复制
对象的复制 对于普通类型的对象来说,它们之间的复制是很简单的,例如:[cpp] view plaincopyprint?int a=88; int b=a; double f=3.12; double d(f); 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种数据成员。下面转载 2014-04-10 09:23:22 · 572 阅读 · 0 评论 -
C中的auto、static、register和extern的区别
C语言中的每一个变量和函数有两个属性:数据类型和数据的存储类别(存储类别是指数据在内存中存储的方法)。数据类型:整形、字符型、单精度实型、双精度实型和空类型等。存储类型:自动的(auto),静态的(static),寄存器的(register)和外部的(extern)。auto变量:函数中的局部变量,如不专门声明static,一般都是动态地分配存储空间。自动变量:在调用该函数转载 2014-04-08 21:58:39 · 835 阅读 · 0 评论 -
各种变量的存储区域及作用域
1.按照存储区域分:静态存储区域:全局变量,静态全局变量和静态局部变量栈区:局部变量2.按照作用域分:全局变量:整个程序文件静态全局变量:只在定义它的文件中有效静态局部变量:只在定义它的函数内有效,程序分配一次内存,函数返回后仍然有效,直到程序结束才销毁,局部变量:只在定义它的函数内有效,函数返回后就销毁。3.初始化与作用域:转载 2014-04-08 22:00:03 · 996 阅读 · 1 评论 -
内存中堆和栈的区别(转)
1、内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、申请方式方面:转载 2014-04-08 21:59:13 · 532 阅读 · 0 评论 -
海量数据面试题整理
1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小转载 2014-04-08 21:56:11 · 626 阅读 · 0 评论 -
extern c的作用(转)
可以在C++中使用C的已编译好的函数模块,在c++中用到c语言写的函数,声明DLL中经常看到,避免C++ name mangling,主要用于动态链接库,使得导出函数名称与C语言规则一致(不改变),方便不同的编译器甚至是不同的开发语言调用。extern "C"是告诉C++编译器以C Linkage方式编译,也就是抑制C++的name mangling机制。例如:void T转载 2014-04-08 21:57:59 · 649 阅读 · 0 评论 -
const作用
const是C语言的一种关键字,起受保护,防止以外的变动的作用!可以修饰变量,参数,返回值,甚至函数体。const可以提高程序的健壮性,你只管用到你想用的任何地方。(一)const修饰参数。const只能修饰输入参数。 1、如果输入参数是指针型的,用const修饰可以防止指针被意外修改。 2、如果参数采用值传递的方式,无需const,因为函数自动产生临时变量复制该参数。转载 2014-04-08 21:57:10 · 570 阅读 · 0 评论 -
深入理解成员函数的重载、隐藏、覆盖
重载的特征: 1、处在相同的空间中,即相同的范围内。 2、函数名相同。 3、参数不同,即参数个数不同,或相同位置的参数类型不同。 4、virtual关键字对是否够成重载无任何影响。 每个类维护一个自己的名字空间,即类域,所以派生类跟基类处于不同的空间之中,因些,虽然派生类自动继承了基类的成员变量及成员函数,但基类的函数跟派生类的函数不可能直接够成函数重载,因为它们处于转载 2014-04-08 16:45:59 · 844 阅读 · 0 评论 -
STL系列之四 heap 堆
下面再介绍STL中与堆相关的4个函数——建立堆make_heap(),在堆中添加数据push_heap(),在堆中删除数据pop_heap()和堆排序sort_heap():头文件 #include 下面的_First与_Last为可以随机访问的迭代器(指针),_Comp为比较函数(仿函数),其规则——如果函数的第一个参数小于第二个参数应返回true,否则返回false。建转载 2014-04-21 21:12:08 · 641 阅读 · 0 评论 -
若干笔试题
以下代码输出什么?[cpp] view plaincopyprint?#include #include int main(void) { int a[5] = {1,2,3,4,5}; int *p = (int*)(&a+1); printf("%d, %d\n", *(a+转载 2014-04-08 15:44:17 · 656 阅读 · 0 评论 -
C++构造函数和析构函数是否可以为virtual?
转:http://blog.youkuaiyun.com/fisher_jiang/archive/2008/05/24/2477577.aspx 一. 虚析构函数我们知道,为了能够正确的调用对象的析构函数,一般要求具有层次结构的顶级类定义其析构函数为虚函数。因为在delete一个抽象类指针时候,必须要通过虚函数找到真正的析构函数。如:class Base{转载 2014-04-08 12:57:46 · 835 阅读 · 0 评论 -
stl中vector,list,deque的使用准则
在stl中提供了vector, list,deque几种可当作列表使用的数据结构,他们都是动态增长的,在这三者之中选择的准则主要是关注插入特性以及对元素的后续访问要求。vector表示一段连续的内存区域每个元素被顺序存储在这段内存中。对vector 的随机访问效率很高 。但是在任意位置而不是在vector 末尾插人元素则效率很低,因为它需要把待插入元素右边的每个元素都拷贝一遍。类似地删转载 2014-04-08 11:13:34 · 611 阅读 · 0 评论 -
先序和中序重建二叉树 后序输出
#include#includeusing namespace std;int K,N,M;int pre[1010],in[1010],post[1010],map[1010];bool canRebuild;void reBuild(int low,int up){ if(up>=low){ int m=map[K++];原创 2014-04-06 15:44:18 · 561 阅读 · 0 评论 -
白话经典算法系列之六 快速排序 快速搞定
转自: 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家转载 2014-04-21 14:04:44 · 579 阅读 · 0 评论 -
二叉树的创建遍历-递归与非递归
#include#include#include#include#include#define MaxSize 105using namespace std;typedef char ElemType;struct BTNode{ ElemType data; struct BTNode *lchild; struct BTNode原创 2014-04-06 14:48:03 · 574 阅读 · 0 评论 -
并查集简单应用
问题:朋友圈(25分) 假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。 假如:n = 5 , m = 3 , r = {{1 , 2} , {2 , 3} , {4 , 5}},表示有5个人,1和2是好友,2和3是好友,4和5是好友,则1、2、3属于一个转载 2014-03-20 21:39:40 · 643 阅读 · 0 评论 -
并查集详解
以前经常遇到并查集,但一直没有总结。今天把并查集的相关知识总结下。在计算机科学中,并查集是一种树型的数据结构,其保持着用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)定义了两个操作用于此数据结构:Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。Union:将两个子集合并转载 2014-03-20 21:07:45 · 1529 阅读 · 0 评论 -
数组中出现次数超过一半的数字
#include#include#includeusing namespace std;#define N 100005int findMoreHalf(int a[],int n){ int i; int num,count; for(i=0;i { if(0==i) {原创 2014-03-20 20:23:54 · 514 阅读 · 0 评论 -
腾讯2012年实习生笔试题
一、单向选择题1、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项() A. int a1=x+y-z; int b1=x*y/z; B. int a2=x-z+y; int b2=x/z*y; C. int c1=x>z; int d1=x&y|z; D. int c2=x>>z A. 一定等于a2转载 2014-03-12 20:23:17 · 974 阅读 · 0 评论 -
虔诚的学习者 腾讯2014年校园招聘笔试试题
一 不定项选择题(共25题,每题4分,共100分,少选、错选、多选均不得分)1 已知一棵二叉树,如果先序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果为:(D)A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA 2 下列哪两个数据结构,同时具有较高的查找和删除性能?(CD)A.有序数组 B转载 2014-03-12 20:20:15 · 609 阅读 · 0 评论 -
百度2011年实习生笔试题
1、extern “C”是什么含义?用来解决什么问题?分析: extern “C”包含双重含义,从字面上即可得到:首先,被它修饰的目标是”extern”的;其次,被它修饰的目标是”C”的。让我们来详细解读这两重含义。 extern “C”是指将该段代码以C语言形式进行编译、链接。由于C不支持函数重载,C与C++对于同一个函数编译后在符号表中保存的函数名字存在差异,故当进行C、C++转载 2014-03-12 20:17:39 · 598 阅读 · 0 评论 -
虔诚的学习者 阿里巴巴2013年实习生笔试题B
阿里巴巴集团2013实习生招聘技术类笔试题(B)一、单向选择题1、在常用的网络协议中,___B__是面向连接的、有重传功能的协议。 A. IP B. TCP C. UDP D. DXP 2、500张骨牌整齐地排成一行,按顺序编号为1、2、3、......、499、500,第一次拿走所有奇数位置上的骨牌,第二次再从剩余骨牌中拿走所有奇数位置上的骨牌,依次转载 2014-03-12 20:12:21 · 988 阅读 · 0 评论