ZZ面试笔试
文章平均质量分 80
clearriver
做一番一生引以为豪的事业;找一个一生荣辱与共的妻子;在有生之年报答帮助我的人;并且帮助有需要我帮助的人!
展开
-
请求处理问题
问题描述:说有一台机器,上面有m个储存空间。然后有n个请求,第i个请求计算时需要占R[i]个空间,储存计算结果则需要占据O[i]个空间(其中 O[i] 题解:假设可以满足所有请求,并且处理请求的顺序是:r1,r2,……r(n-1),r(n),那么存储完所有的请求结果后,剩余的存储空间为L= m-∑O[i]。如果假设成立,必须满足:针对请求r(n),一定有L+O[r(n)]>=R原创 2009-07-24 15:26:00 · 2651 阅读 · 1 评论 -
随机取数
1. 给你一个长度为N的链表。N很大,但你不知道N有多大。你的任务是从这N个元素中随机取出k个元素。你只能遍历这个链表一次。你的算法必须保证取出的元素恰好有k个,且它们是完全随机的(出现概率均等)。 解答:先选中前k个, 从第k+1个元素到最后一个元素为止, 以1/i (i=k+1, k+2,...,N) 的概率选中第i个元素,并且随机替换掉一个原先选中的元素, 这样遍历一次得到k个转载 2009-07-24 13:45:00 · 2601 阅读 · 0 评论 -
ZZ 算法面试101题目(原作者不详)
1. Given arectangular (cuboidal for the puritans) cake with a rectangular pieceremoved (any size or orientation), how would you cut the remainder ofthe cake into two equal halves with one straig转载 2009-08-04 22:48:00 · 2478 阅读 · 0 评论 -
删除数组中重复元素
首先排序:nlong(n)int a[] = {1,2,3,3,4,0}; int i=0, j=1; while(a[i]) { if(a[i]!=a[j]) a[++i] = a[j]; j++; } 时间复杂度为O(nlogn);转载 2009-09-05 21:50:00 · 1578 阅读 · 3 评论 -
正则表达式中的模糊匹配
字符串1:只含有英文字母, 字符串2:含有英文字母和*,其中符号*表示匹配任意字符0或者多次,即正则表达式里面的含义。 现在给定这样的两个串,要求判断是否匹配? bool isMatch ( const char *str1, const char *str2) 例如:str1 = "hello", str2 = "he*o",则二者匹配,返回true,转载 2009-11-25 10:04:00 · 12923 阅读 · 0 评论 -
笔试题(转)
笔试题(转) http://www.cppblog.com/mzty/archive/2008/02/18/42875.html一、如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针) struct node { char val; node* next;} bool check(const node* head) {} //return false : 无转载 2010-03-31 09:37:00 · 656 阅读 · 0 评论 -
C语言面试题 4 (查找整数数组中第二大的数)
题目:写一个函数找出一个整数数组中,第二大的数。【Mirosoft】PS:1、” 66,66,66,66,66 ”,则没有第二大数。2、” 99,99,88,86,68,66 ”,则最大数是88。下面我先给出查找最大数字的程序:int GetFirstMaxNumber(int buffer[]){ int i,max; max = buffer[0]转载 2010-04-09 14:53:00 · 1723 阅读 · 0 评论 -
按位反转整数问题
Write a C function to swap the bits of a unsigned int so that its bits become the mirror image of the char. MSBs become its LSBs, e.g. 0111100011110111 binary should become 1110111100011110 binary.转载 2010-04-09 15:26:00 · 906 阅读 · 0 评论