![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
真题分析
ojshilu
https://github.com/lucky521
展开
-
2013.9.28微软笔试题-真题分析 链表大题 mircosoft
1.多进程,多线程。多进程下,每个进程都有自己的独立地址空间,进程间的数据空间也相互独立。多线程下,同一进程内的线程共享进程的地址空间,一个线程的数据可以直接提供给其他线程使用。原创 2013-10-01 18:32:58 · 1456 阅读 · 0 评论 -
计算1~n之间的所有十进制整数中1的出现次数
问题是这样的,给出一个n,让你求出1~n之间的所有整数的十进制形式中的1的总个数。本问题假设n>1。比如给出一个数n=12,那么1到12之间的数1,2,3,4,5,6,7,8,9,10,11,12里面,能数出来是有5个1。最直观的方法:依次判断每一个区间内的每一个整数,对一个数逐渐除10判断其每一位。这个方法的时间复杂度为O(n*lgn)。介绍一个优化的方法(注意其中分治和原创 2013-12-03 10:49:36 · 1723 阅读 · 1 评论 -
阿拉伯数字转换为汉语表达方式
汉语博大精深,讲一个简单的阿拉伯数字转换为我们比如 1980,要转换为“一千九百八十”;198 要转换为“一百九十八”;19 要转换为“十九”,1要转换为“一”。数值:零一二三四五六七八九小权值:十 百 千 大权值:万 亿特殊用例:1、注意0的出现。1080、1008、1800、10000、1000000、100000000。2、如果某个大权值内的四位都是0原创 2014-05-01 18:43:35 · 2607 阅读 · 0 评论 -
有重叠区间段中寻找最值 Pinterest面试题
题目源自于待字闺中的微信,是Pinterest公司的一道面试题。题目:给如下的数据格式:比如有一组数据:1, 3, 1002, 4, 2005, 6, 300……这些数据时间区间可能有重合的部分。比如在时间段2~3之间,value的和是100+200 = 300.。要求找出这组数据中最高的value和。思路: 不好的做法:看到题目原创 2013-12-10 10:38:55 · 2040 阅读 · 0 评论 -
按身高排成两队问题 catalan数
题目源自于阿里巴巴校招笔试题。题目:12个高矮不同的人,排成2排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?思路:假设12个人的身高为,0 1 2 3 4 5 6 7 8 9 10 11。我们先把这12个人从低到高排列,然后,选择6个人排在第一排,那么剩下的6个肯定是在第二排。用0表示对应的人在第一排,用1表示对应的人在第二排。那么含有原创 2013-11-04 19:16:00 · 1951 阅读 · 0 评论 -
把递归转变成循环
1、时间性能:递归的逻辑,使用递归来设计程序,会使得程序的时间较差。因此在oj的时候最好改成备忘录的方式来记录递归。2、数据表示范围:在测试数据时一定要记得用超大数据测试一下,看数据是否可能发生溢出。对于32位无法存储的大整数,最好使用__int64。输出的时候格式为%I64d。(注意这里的I是大写的i)。hduoj-2044:斐波那契的简单变形。斐波那契数列到后来增长速度还是很快原创 2013-09-23 00:23:00 · 1518 阅读 · 0 评论 -
消除嵌套的括号 clear brace in string
题目源自于百度公司2014校园笔试的一道字符串题。题目:给定一个如下格式的字符串(1,(2,3),(4,(5,6),7))括号内的元素可以是数字,也可以是另一个括号,请实现一个算法消除嵌套的括号,比如把上面的表达式变成:(1,2,3,4,5,6,7),如果表达式有误请报错。思路:希望算法所占空间越小越好。做到不用栈来匹配括号、不用临时数组来存储新字符串。空间上:在括号匹配的原创 2013-10-18 11:15:36 · 1649 阅读 · 0 评论 -
Google Code Jam 130914
由于不限定编程语言,使用更高层的语言解决问题肯定更快一些。输入和输出都是以文件的形式。下面是最简单的那道插入排序题。import sysdef sort(param): times = 0 plen = len(param) for i in range(1,plen): flag = 0 key = param[i] for j in range(1, i+原创 2013-09-15 20:52:35 · 1032 阅读 · 0 评论 -
压缩字符串中的连续重复字符
题目源自于华为公司机试题目。题目:通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。压缩规则:1、仅压缩连续重复出现的字符。比如字符串”abcbc”由于无连续重复字符,压缩后的字符串还是”abcbc”。2、压缩字段的格式为”字符重复的次数+字符”。例如:字符串”xxxyyyyyyz”压缩后就成为”3原创 2013-10-24 11:10:27 · 3631 阅读 · 0 评论 -
扔骰子的一道概率题
题目:一个骰子,6面,1个面是 1, 2个面是2, 3个面是3, 问平均掷多少次能使1,2,3都至少出现一次?思路:对于一次实验,1的概率是1/6, 2的概率是1/3, 3的概率是1/2。我的方法:把它独立的当做是三个过程。几何分布的期望EX=1/p,方差DX=(1-p)/p^2。第一轮是必然事件,“第一次出现X值”(显然第一回扔骰子就会出现一个X)原创 2013-10-30 09:56:38 · 6600 阅读 · 1 评论