笔试面试
Galaxy_Li
这个作者很懒,什么都没留下…
展开
-
通过按位异或(^)进行交换的原理
前提:交换的两个变量必须是整型(包括int、char、long、指针类型)比如两个整型变量a、b,如下:a = a^b;b = a^b;a = a^b;这样就完成了交换,其原理在于一个数与同一个数异或两次的结果是其本身(异或满足交换律、结合律)比如,10^20^20与20^10^20的结果是相同的,都是10。原创 2012-03-05 16:15:42 · 1020 阅读 · 0 评论 -
求最大公约数(GCD)
求两个数的最大公约数,相信很多人都遇见过这样的题目,那我们到底怎么样做才能更好的表现出自己的实力呢?以及与别人的不同呢?既然这样我们就要好好的来研究下,这个最大公约数是神马东东?比如 42和30的最大的公约数,就是分别求出42和30的所有的约数,其中两个数的公约数中相同公约数最大的那个。相信这个大家都很清楚,毕竟这个是小学的时候学习的知识。根据上面的知识,我们知道42和30的最大转载 2012-04-16 14:57:21 · 1027 阅读 · 0 评论 -
求最大和子序列
题目描述:有一个数的序列,其中可能有负数,请编写方法得到该序列的一个子序列,此子序列的和最大。比如序列为-1,1,-1,8,-1,3,-2,最大和子序列为8,-1,3,最大和为10。解法一:(时间复杂度为O(n2) )双重循环 int arr[] = { -1, 1, -1, 8, -1, 3, -2 }; int num = sizeof(arr)/sizeof(*arr)原创 2012-04-16 16:14:04 · 383 阅读 · 0 评论 -
秒杀多线程第一篇 多线程笔试面试题汇总
系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性。系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”。有了“招式”和“内功心法”,相信你也能对多线程挥洒自如,在笔试面试中顺利的秒杀多线程试题。 -----转载 2012-06-20 15:09:29 · 527 阅读 · 0 评论 -
MSRA面经
找工作过程基本结束了,我写了一份承诺的面经。当然其实我觉得微软笔试和腾讯面试部分也非常精彩,偷点懒不写了。O(∩_∩)O哈哈~,首先祝师弟师妹们明年都能拿个好offer! 11月25日收到电话,11月29日飞北京,30日参加微软亚洲研究院的面试,12月1日飞回来。 由于投的职位是RSDE(Research Software Development Engineer),因此内容转载 2012-07-17 11:13:57 · 5167 阅读 · 0 评论 -
MSRA电话面试
可能很多学计算机的同学毕业后想去外企,而在大学时又不知要学些什么,包括那些说大学课程无用的,可以看看这篇文章,或许能得到一些启发。这是从学校内部论坛转载过来的。微软亚洲研究院电话面试面经! 今天下了班,回到住的地方,正在做创业课的作业,突然接到微软亚洲研究院的电话,说是要电话面试。我一看表,都快9点了,这么晚了,那帮人居然还有心情在公司里搞电话面试,心想面就面吧,无所谓转载 2012-07-17 11:16:46 · 3047 阅读 · 0 评论 -
微软亚洲研究院(MSRA)面经
我最早把简历投给MSRA是在美国交换的时候,大概11月左右吧。不过估计是因为那时候我人也不在国内,11月也是个收实习生的淡季,没什么空位子,所以在美国期间他们也并没有打国际长途联系我。后来1月初回国后,我就又重新上MSRA网站上看了招聘信息,发现创新工程组新开放出了一个职位,所以我就在春节后第一个工作日给他们投了申请表和简历。第一轮:简单交流有开放职位就是不一样,在发出简历的大约一个周后我转载 2012-07-18 09:12:01 · 9723 阅读 · 1 评论 -
C库函数atoi的实现
一、功能简介把一个字符串转换成整数 二、linux c库函数实现/****long atol(char *nptr) - Convert string to long**Purpose:* Converts ASCII string pointed to by nptr to binary.* Overflow is not d转载 2012-08-23 16:19:37 · 847 阅读 · 0 评论 -
C++实现单例模式
单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做转载 2012-08-23 20:04:14 · 734 阅读 · 0 评论 -
不用for,if,while计算1--100之间的和
在不使用if,while,for,的前提下打印出1--100之间的数字并计算1--100之间数字的和。大家看到这里的时候,是不是有点不知所措,我们之前计算这个都是要循环来实现,即便是不用循环用递归实现的话,总要用if来作判定,然后然后返回一个值吧!但是在这里,这些都被限制了,怎么办呢?大家想一下,有一个很特殊的运算符,有屏蔽的效果,是谁呢?他就是 && ,如 : a&&b++转载 2012-04-16 17:03:10 · 2341 阅读 · 0 评论 -
关于字符串逆序的几个问题
字符串组成一个句子,其中有空格和标点符号(可以统一认为是空格),不存在类似于I'm这种书写。比如原始串为what are you doing now分以下几种情况:1.单词内部逆序tahw era uoy gniod won使用三个指针,扫描一遍字符串即可(需要注意的是字符串最后的'\0'也是断单词的标识,只不过只在最后出现,其他情况断单词的都是空格)2.仅句子逆序,即原创 2012-04-16 16:53:02 · 720 阅读 · 0 评论 -
STL中erase()小心使用
erase()函数的功能是用来删除容器中的元素删除某个容器里的某个元素:c.erase(T);看似一个简单的动作,然而对不同类型的容器,内部却做了截然不同的事情,后面介绍。假设有这样一个题目,将某个容器中所有满足条件N == X的元素删除,按照常规的思路应该有类似这样的代码:// 假设Container和container分别表示一种容器和对应的一个对象Containe转载 2012-04-14 00:02:30 · 2456 阅读 · 0 评论 -
如何计算某一天是星期几?(Zeller公式)
如何计算某一天是星期几?—— 蔡勒(Zeller)公式 历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(Zeller)公式。即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,转载 2011-09-06 15:52:05 · 2090 阅读 · 1 评论 -
一道题的不同解答
Problem:表中存放着n个元素,请设计程序,将表中的所有元素循环左移p个位置(0Solution_1:设置一个能容纳一个元素的辅助空间,并认为其在表的最左边,然后将X0移动到该辅助空间中,X1移动到原来X0的位置,以此类推,最后再将X0移动到原来表中Xn-1的位置,这样一趟相当于完成了一次循环左移,如此循环p次,即可达到题目的要求。时间复杂度:移动总次数为n(p+1),原创 2012-02-24 22:31:13 · 507 阅读 · 0 评论 -
字符串逆序的递归函数
#include void reverse(char *s){if(s[0] == '\0')return;else{reverse(&s[1]);putchar(s[0]);}}int main(){char s[100];gets(s);reverse(s);retu转载 2012-03-05 15:33:56 · 761 阅读 · 0 评论 -
“心算“Ackerman函数
这道题是今年腾讯的一道笔试题,如下[cpp] view plaincopyint ack(int m,int n){ if(m==0){ return n+1; } else if(n==0){ return ack(m-1,1); }转载 2012-04-11 21:39:52 · 542 阅读 · 0 评论 -
两个数组a[N],b[N],其中a[N]的各个元素值已知,现给b[i]赋值
问题描述:两个数组a[N],b[N],其中a[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];要求:1.不准用除法运算2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)3.满足时间复杂度O(n),空间复杂度O(1)算法实现:[转载 2012-04-11 21:35:12 · 913 阅读 · 0 评论 -
如何计算某一天是星期几?(Kim larsson公式)
C语言根据日期判断星期几(使用基姆拉尔森计算公式)算法如下: 基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来转载 2011-09-06 16:10:55 · 2842 阅读 · 0 评论 -
字符串中的单词逆序
有一个方法,首先逆序整个字符串,然后逆序每个单词原创 2012-03-05 16:43:07 · 409 阅读 · 0 评论 -
2012校园招聘求职笔试攻略汇总
计算机软硬件校招笔试题汇总名企笔试题:微软面试英文题目:http://bbs.hiall.com.cn/viewthread.php?tid=593873&extra微软研究院笔试题目:http://bbs.chinahr.com/showtopic-126329.aspx微软的笔试试题:http://bbs.hiall.com.cn/viewthread.php?tid=5938转载 2012-04-12 23:27:19 · 2418 阅读 · 0 评论 -
atoi函数的增强版——strtol函数
1. strtol和atoi同在stdlib.h中声明;2. 函数原型:long int strtol ( const char * str, char ** endptr, int base );其中base表示按照哪种进制来转换,比如十进制、十六进制,分别用10和16表示,endptr一般用不到。3.glibc库的实现中,atoi的实现其实就一句代码,即strtol(str, NU原创 2012-08-23 16:33:37 · 817 阅读 · 0 评论