代码改变世界

随笔分类 -  笔试/面试

大整数相关的几道题

2012-09-16 22:40 by coodoing, 796 阅读, 收藏, 编辑
摘要: 1、大整数相加 1: static void plus(String input1, String input2) { 2: char[] input11 = input1.toCharArray(); 3: char[] input21 = input2.toCharArray(); 4: ... 阅读全文

几道编程题

2012-09-16 01:23 by coodoing, 566 阅读, 收藏, 编辑
摘要: 直接上代码试题1: 1: public class Test1 { 2: 3: static void convert(String str) { 4: int count = 1; // 用于记录当前连续字符的数量 5: char[] input = str.toCharArray(); 6: char pre = '\u0000', cur; // char为空判断 7: char output; 8: 9: for (char ele : inp... 阅读全文

笔试题搜集

2012-08-29 20:11 by coodoing, 707 阅读, 收藏, 编辑
摘要: 前面有几篇博客中关于google,微软,百度等公司的面试题:十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)、微软、谷歌、百度等公司经典面试题[第101-160题]及微软等数据结构+算法面试100题全部答案集锦,但都主要涉及数据结构和算法方面的知识。由于IT方面的公司笔试题并不全是数据结构和算法,还有数据库,操作系统,计算机网络,C/C++以及编译原理等其他方面的基础知识,所以这篇博文主要对去年各大公司的笔试题做一个搜集链接,方便阅读和知识分享,也方便以后的查阅。1、2011百度校园招聘笔试题 C++类-附原创答案2、迅雷2012校园招聘笔试题3、腾讯2011.10.15校园. 阅读全文

砝码称重问题

2012-08-17 17:18 by coodoing, 4060 阅读, 收藏, 编辑
摘要: 1、问题描述 问题1、如果天平两端都允许放砝码,并且假定所有的砝码都是整数克。为了称出从 1 克到 40 克所有整数克的物品,最少需要几个砝码? 问题2:4个砝码,每个重量都是整数克,总重量为40克,放在天平上可以称出1~40克的物体。编程求出这4个砝码各多少克。 2、 问题分析 2.1、问题1分析(砝码称重问题,因式分解有妙用) 秘密在于 3 的幂 说起来这个问题历史还算是挺悠... 阅读全文

字符串操作之循环移位

2012-08-17 16:31 by coodoing, 876 阅读, 收藏, 编辑
摘要: 该篇文章最主要是回顾c语言中字符数组,字符串和指针的处理以及数组越界问题的考虑。 问题描述 编写一个函数,把一个char'组成的字符串循环右移n位。比如原来是"abcdefghi",如果n=2,移位后应该是"hiabcdefgh"。 问题分析 这个问题很简单,主要是看对c中标准库函数的掌握程度,这里主要可以采用两个库函数实现:strcpy和memcpy。这里主要对 memcpy() --... 阅读全文

经典面试智力题和解答

2012-08-16 17:21 by coodoing, 7220 阅读, 收藏, 编辑
摘要: 一、微软58题A.逻辑推理 1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你 的工人付费? 2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。 3、小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每 次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会 熄灭。问:小明一家如何过桥? 4、一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少 有一顶。每... 阅读全文

栈的push、pop序列-实现

2012-08-14 21:21 by coodoing, 3331 阅读, 收藏, 编辑
摘要: 1、问题描述 输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。 比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因为可以有如下的push和pop序列:push 1,push 2,push 3,push 4,pop,push 5,pop,pop,pop,pop,这样得到的pop序列就是4、5、3、2、1。但序列4、3、5、1、2就不可能是push序列1、2、3、4、5的pop序列。2、分析 这道题的一个很直观的想法就是建立一个辅助栈,每次pus 阅读全文

多个集合合并成没有交集的集合-实现

2012-08-14 17:50 by coodoing, 5145 阅读, 收藏, 编辑
摘要: 1、问题描述 将多个集合合并成没有交集的集合。 给定一个字符串的集合,格式如:{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出{aaa bbb ccc ddd hhh},{eee fff}, {ggg}。 (1)请描述你解决这个问题的思路; (2)... 阅读全文

单链表是否有环和两个链表是否有公共节点问题

2012-08-14 16:40 by coodoing, 790 阅读, 收藏, 编辑
摘要: 1、单链表是否有环题目描述:有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题: 1、如何判断一个链表是不是这类链表? 2、如果链表为存在环,如何找到环的入口点?一、判断链表是否存在环 设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)。 1: boolean isExsitLoop() { 2: Node<T> slow ... 阅读全文

Mathematica's Google Aptitude

2012-08-14 00:16 by coodoing, 367 阅读, 收藏, 编辑
摘要: The Billboard So perhaps it's no great surprise that Google utilizes unusually mathematically oriented recruitment techniques. In fact, these practices have received widespread coverage in the last f... 阅读全文

【转】十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)

2012-08-13 15:36 by coodoing, 1291 阅读, 收藏, 编辑
摘要: 十月百度:一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?(要么预先排序,二分查找。要么哈希。hash的话,坐标(x,y)你可以当做一个2位数,写一个哈希函数,把(x,y)直接转成“(x,y)”作为key,默认用string比较。或如Edward Lee所说,将坐标(x, y)作为 Hash 中的 key。例如(m, n),通过 (m,n) 和 (n, m) 两次查找看是否在 HashMap 中。也可以在保存时就规定 (x, y) , x < y ,在插入之前做个判断。)百度最新面试题:现在有1千万个 阅读全文

【转】微软、谷歌、百度等公司经典面试题[第101-160题]

2012-08-13 15:09 by coodoing, 580 阅读, 收藏, 编辑
摘要: 微软十五道面试题1、有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。2、写一个函数,检查字符是否是整数,如果是,返回其整数值。 (或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)3、给出一个函数来输出一个字符串的所有排列。4、(a)请编写实现malloc()内存分配函数功能一样的代码。 (b)给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。5、怎样编写一个程序,把一个有序整数数组放到二叉树中?6、怎样从顶部开始逐层打印二叉树结点数据?请编程。 7、怎样把一个链表掉个顺序(也就是反序,注... 阅读全文

【转】微软等数据结构+算法面试100题全部答案集锦

2012-08-13 14:53 by coodoing, 1312 阅读, 收藏, 编辑
摘要: 1.把二元查找树转变成排序的双向链表。 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 首先我们定义的二元查找树节点的数据结构如下: struct BSTreeNode { int m_nValue; // value of node BSTreeNode *m_pLeft; // left child ... 阅读全文

google几道面试题

2012-08-13 13:03 by coodoing, 354 阅读, 收藏, 编辑
摘要: 1、找规律 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1下一行是什么?2、 数列中下一个应该是: 10, 9, 60, 90, 70, 66, ?A) 96 B) 1000000000000000000000000000000000 0000000000000000000000000000000000 000000000000000000000000000000000 C) Either of the above D) None of the above3、有一个特殊的链表,其中每个节点不但有指向下一个节点的指... 阅读全文

百度面试题集锦

2012-08-12 22:08 by coodoing, 396 阅读, 收藏, 编辑
摘要: 1、实现一个函数,对一个正整数n,算得到1需要的最少操作次数。操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。 例子: func(7) = 4,可以证明最少需要4次运算 n = 7 n-1 6 n/2 3 n-1 2 n/2 1 要求:实现函数(实现尽可能高效) int func(unsign int n);n为输入,返回最小的运算次数。给出思路(文字描述),完成代码,并分析你算法的时间复杂度。 答: · int func(unsigned int n) · { ·... 阅读全文

【转】求质数算法的N种境界- 试除法和初级筛法

2012-08-10 12:49 by coodoing, 610 阅读, 收藏, 编辑
摘要: 转帖:http://program-think.blogspot.com/2011/12/prime-algorithm-1.html★引子 前天,俺在《俺的招聘经验[4]:通过笔试答题能看出啥?》一文,以"求质数"作为例子,介绍了一些考察应聘者的经验。由于本文没有政治敏感内容,顺便就转贴到俺在CSDN的镜像博客。 昨天,某个CSDN网友在留言中写道:老实说,这个程序并不好写,除非你背过这段代码 如果只在纸上让别人写程序,很多人都会出错 但是如果给一台电脑,大多数人都会把这个程序调试正确 出这个题目没啥意义 只能让别人觉得你出题水平低 首先,... 阅读全文

【转】海量数据处理

2012-08-08 16:35 by coodoing, 795 阅读, 收藏, 编辑
摘要: 1、何谓海量数据处理? 所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。 那解决办法呢?针对时间,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树,针对空间,无非就一个办法:大而化小:分而治之/hash映射,你不是说规模太大嘛,那简单啊,就把规模大化为规模小的,各个击破不就完了嘛。 至于所谓的单机及集群问题,通俗点来讲,单机就是处理装载数据的机器有限(只要考虑cpu,内存,硬盘的数据交互),而集群, 阅读全文

部分面试题分析

2012-07-29 20:24 by coodoing, 391 阅读, 收藏, 编辑
摘要: 1、两个数组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) 1: private static int[] transform(int[] a, int[] b) { 2: int i = 0; 3: b[b.length - 1] = 1; 4: for (i = b.lengt... 阅读全文