- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 在从1到n的正数中1出现的次数
<br />题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。分析:这是一道广为流传的google面试题。用最直观的方法求解并不是很难,但遗憾的是效率不是很高;而要得出一个效率较高的算法,需要比较强的分析能力,并不是件很容易的事情。当然,google的面试题中简单的也没有几道。首先我们来看最直观的方法,分别求得1到n中每个整数中1出现的次数。而求一个整数的十进制表示中1出现的次数,就和本
2011-04-23 01:03:00 717
原创 输出1到最大的N位数
<br />题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。<br />分析:这是一道很有意思的题目。看起来很简单,其实里面却有不少的玄机。<br />应聘者在解决这个问题的时候,最容易想到的方法是先求出最大的n位数是什么,然后用一个循环从1开始逐个输出。很快,我们就能写出如下代码:<br />// Print numbers from 1 to the maximum number with n digits, in order<br />vo
2011-04-23 00:24:00 2688 3
原创 把数组排成最小的数
题目:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题的算法,并证明该算法。<br />分析:这是09年6月份百度新鲜出炉的一道面试题,从这道题我们可以看出百度对应聘者在算法方面有很高的要求。<br />这道题其实是希望我们能找到一个排序规则,根据这个规则排出来的数组能排成一个最小的数字。要确定排序规则,就得比较两个数字,也就是给出两个数字m和n,我们需要确定一个规则m和n哪个更大,而不是
2011-04-22 22:47:00 681
原创 对称子字符串的最大长度
<br />题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。<br />分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。<br />要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不相等,那该字符串肯定不是对称的。否则我们接着判断里面的两个字符是不是相等,以此类推。基于这个思路,我们不难写出如下代码:<br
2011-04-22 22:43:00 878
原创 数组中出现次数超过一半的数字
<br /><br />题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。<br />分析:这是一道广为流传的面试题,包括百度、微软和Google在内的多家公司都曾经采用过这个题目。要几十分钟的时间里很好地解答这道题,除了较好的编程能力之外,还需要较快的反应和较强的逻辑思维能力。<br />看到这道题,我们马上就会想到,要是这个数组是排序的数组就好了。如果是排序的数组,那么我们只要遍历一次就可以统计出每个数字出现的次数,这样也就能找出符合要求的数字了。题目给出的数组没有说是排好序的,因此我
2011-04-22 22:00:00 526
原创 第一个只出现一次的字符
<br />题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。<br />分析:这道题是2006年google的一道笔试题。<br />看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路时间复杂度是O(n2)。我们试着去找一个更快的方法。<br />由于题目与字符出现的次数相关
2011-04-22 21:43:00 435
原创 旋转向量
向量旋转问题: 给定一个 n 维向量, 求 将它向左循环移动 i 位后的向量。比如: [1,2,3,4,5] 向左循环移动 3 位后,变成 [4,5,1,2,3] 。为了简单起见,向量采用数组表示。 本文讨论的内容参见《编程珠玑 I 》 ( 第二版 ) 的第二章。在那里,讨论了向量旋转的四种算法: 1. 基于数组移动的思路: 这个是比较简单的, 即将要移动的 i 个元素复制到一个临时数组中,然后,将原数组的 n-i 个元素依次复制到前 n-i 个位置上,最后,将临
2011-04-22 00:14:00 2115
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人