码迷,mamicode.com
首页 > 2015年05月13日 > 全部分享
九章算法面试题44 设计一个Web Crawler
如果让你来设计一个最基本的Web Crawler,该如何设计?需要考虑的因素有哪些?...
分类:编程语言   时间:2015-05-13 10:31:16    阅读次数:1261
九章算法面试题45 寻找最大的储水容器
给定一个正整数数组(a0,a1..),分别代表n个坐标(0,a0), (1,a1),根据这n个点画出n条线段,每条线段的两个端点分别为(i, ai)和(i, 0)。找到两条线段,使得这两条线段和x轴所构成的容器储水容量最大。如[2,1,3], 最大,选择第一条线段和第三条线段,加上x轴所构成的容器,储水容量为4(高度为Min(2,3)=2,底为2)...
分类:编程语言   时间:2015-05-13 10:30:28    阅读次数:176
九章算法面试题46 正负交替
给一个包含正负整数的数组,要求对这个数组中的数进行重新排列,使得其正负交替出现。首先出现负数,然后是正数,然后是负数。有多余的数的一方,就放在末尾。 如 [1, 2, 3, -4]->[-4, 1, 2, 3],[1,-3,2,-4,-5]->[-3,1,-4,2,-5] 要求使用O(1)的额外空间。 问1 :如果不需要保持正数序列和负数序列各自原来的顺序,如何做?时间复杂度是多少? 问2:如果需要保持正数序列和负数序列各自原来的顺序,如何做?时间复杂度是多少?...
分类:编程语言   时间:2015-05-13 10:30:00    阅读次数:387
九章算法面试题47 分糖果
N个孩子站成一排,每个人分给一个权重。按照如下的规则分配糖果: 每个孩子至少有一个糖果权重较高的孩子,会比他的邻居获得更多的糖果。 问题是,最少需要多少个糖果?...
分类:编程语言   时间:2015-05-13 10:30:05    阅读次数:325
九章算法面试题48 分割回文串
对于给定字符串,求最少需要几次划分,能够将字符串划分为若干子串,每个子串都是一个回文串。如abaab,需要至少1次划分,将字符串划分为:a|baab,每个部分均为回文串。...
分类:编程语言   时间:2015-05-13 10:29:34    阅读次数:406
九章算法面试题49 用栈实现队列
规定你只能使用数据结构栈(支持pop, push),怎么样用栈来模拟一个队列的pop和push?...
分类:编程语言   时间:2015-05-13 10:31:03    阅读次数:139
九章算法面试题50 队列上实现Min函数
?在《九章算法面试题23 栈上实现Min函数》中,我们介绍了在栈上实现一个O(1)的Min方法。那么,如何在队列上实现一个Min方法? 要求,队列除了支持基本的Push(x) Pop()的方法以外,还需要支持Min方法,返回当前队列中的最小元素。每个方法的均摊复杂度为O(1)...
分类:编程语言   时间:2015-05-13 10:29:19    阅读次数:151
微软早在1985年便首次使用了安卓上饱受争议的汉堡按钮
用户在Windows 1.0.1 系统上发现了相同的汉堡包图标有争议的安卓汉堡菜单和按钮在Windows 10的电脑和手机上,并且很多人认为微软可能失去它的身份因为它的发明设计者是它的竞争对手。然后尽管事实上很多人认为微软抄袭了安卓来让自家的操作系统更加完善,但这并非完全正确。很高兴这并不是微软第一次在使用汉堡图标。因此,reddit用户gschizas发现在在1985年推出的Windows 1.0...
分类:移动开发   时间:2015-05-13 10:29:10    阅读次数:138
九章算法面试题51 二叉树的序列化
设计一个算法,序列化和反序列化一棵二叉树。...
分类:编程语言   时间:2015-05-13 10:30:17    阅读次数:228
九章算法面试题52 数数字
数一数在0到n之间有多少个数字k(0<=k<=9)。如n=12时,[0,1,2...,12]之间一共有5个1。分别包含在[1, 10, 11, 12]之中。...
分类:编程语言   时间:2015-05-13 10:31:23    阅读次数:187
九章算法面试题53 第一个出错的代码版本
在早期的svn代码控制器中,代码版本的编号是从1开始累加的。有一天你提交了一个带BUG的代码到代码库中,使得这个版本上的单元测试(Unit Tests)失败了。而正不巧由于为此代码库贡献代码的每个人的工作都比较独立,你又休假去了,于是没有人去修复这个bug,这导致了从某个版本开始,后面的每个版本的单元测试都无法通过。假如说现在的代码版本号已经到了n。请找出第一个出错的代码版本(也就是你提交的那个有BUG的版本)。...
分类:编程语言   时间:2015-05-13 10:29:48    阅读次数:212
九章算法面试题54 带重复元素的全排列
给定一个带重复元素的整数集合,求出这个集合中所有元素的全排列。...
分类:编程语言   时间:2015-05-13 10:29:20    阅读次数:253
九章算法面试题55 旋转字符串
给一个字符串和一个旋转的偏移量offset,将字符串循环右移offset位。 如:"abcdefg" 循环右移 4位之后变为了:"defgabc" 要求做到O(1)的额外空间耗费,O(n)的时间...
分类:编程语言   时间:2015-05-13 10:29:33    阅读次数:240
九章算法面试题56 最近公共祖先
给出一棵二叉树和两个二叉树上的节点,求出这两个点的最近公共祖先(Lowest Common Ancestor, LCA)。...
分类:编程语言   时间:2015-05-13 10:28:54    阅读次数:185
九章算法面试题57 拷贝带随机指针的链表结构
给出一条带随机指针的链表,对其进行深度拷贝(Deep Copy)。...
分类:编程语言   时间:2015-05-13 10:30:12    阅读次数:125
九章算法面试题58 背包问题
有一个大小为m(整数)的背包,和n个体积为正整数的物品(大小分别为A[i])。将这个n个物品选一些装到背包中,请问最多能装满多少的体积?...
分类:编程语言   时间:2015-05-13 10:29:33    阅读次数:411
九章算法面试题59 背包问题II
有一个大小为m(整数)的背包,和n个体积(大小分别为A[i](整数))和价值(价格分别为B[i](整数))的物品。将这n个物品选一些装到背包中,请问能装价值最大为多少的物品?...
分类:编程语言   时间:2015-05-13 10:27:33    阅读次数:249
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!