【九章算法】北美求职之面试题目

九章算法面试题55 旋转字符串

给一个字符串和一个旋转的偏移量offset,将字符串循环右移offset位。如:"abcdefg" ...


九章算法面试题54 带重复元素的全排列

给定一个带重复元素的整数集合,求出这个集合中所有元素的全排列。对于集合[1,1,2],其本质不同的全...


九章算法面试题53 第一个出错的代码版本

在早期的svn代码控制器中,代码版本的编号是从1开始累加的。有一天你提交了一个带BUG的代码到代码库...


九章算法面试题52 数数字

数一数在0到n之间有多少个数字k(0<=k<=9)。如n=12时,[0,1,2...,1...


九章算法面试题51 二叉树的序列化

设计一个算法,序列化和反序列化一棵二叉树。解释:序列化的意思是将内存中的一些特定的结构,变成有格式信...


九章算法面试题50 队列上实现Min函数

​在《九章算法面试题23 栈上实现Min函数》中,我们介绍了在栈上实现一个O(1)的Min方法。那么...


九章算法面试题49 用栈实现队列

规定你只能使用数据结构栈(支持pop, push),怎么样用栈来模拟一个队列的pop和push?提示...


九章算法面试题48 分割回文串

对于给定字符串,求最少需要几次划分,能够将字符串划分为若干子串,每个子串都是一个回文串。如abaab...


九章算法面试题47 分糖果

N个孩子站成一排,每个人分给一个权重。按照如下的规则分配糖果:每个孩子至少有一个糖果权重较高的孩子,...


九章算法面试题46 正负交替

给一个包含正负整数的数组,要求对这个数组中的数进行重新排列,使得其正负交替出现。首先出现负数,然后是...


九章算法面试题45 寻找最大的储水容器

给定一个正整数数组(a0,a1..),分别代表n个坐标(0,a0), (1,a1),根据这n个点画出...


九章算法面试题44 设计一个Web Crawler

如果让你来设计一个最基本的Web Crawler,该如何设计?需要考虑的因素有哪些?...


九章算法面试题43 直方图内最大矩阵

给出一个直方图(如图所示),求出所给直方图中所包含的最大矩阵面积。直方图可以用一个整数数组表示,如上...


九章算法面试题42 构造MaxTree

给定一个没有重复元素的数组A,定义A上的MaxTree如下:MaxTree的根节点为A中最大的数,根...


九章算法面试题41 判断单词的包含关系

给定两个单词A和B(假设均为小写字母,并且不含重复字母),判断A是否包含B。这里所定义的包含,只需要...


九章算法面试题40 不用除法求积

给定一个数组A[1..n],求数组B[1..n],使得B[i] = A[1] * A[2] .. *...


九章算法面试题39 分割数组

给一个数组A,和一个整数k,将数组分成两个部分(你可以移动数组中的数),使得左边部分的数都<k...


九章算法面试题38 洗牌的技巧

有一副扑克有2n张牌,用1,2,..2*n代表每一张牌,一次洗牌会把牌分成两堆,1,2..n和n+1...


九章算法面试题37 主元素

主元素(Majority Number)定义为数组中出现次数严格超过一半的数。找到这个数。要求使用O...


九章算法面试题36 交错的字符串

给定三个字符串A, B, C,判断C是否由A和B交错构成。交错构成的意思是,对于字符串C,可以将其每...


九章算法面试题35 构造最大数

给定一个只包含正整数的数组,给出一个方法,将数组中的数拼接起来,使得拼接后的数最大。例如,[1, 3...


九章算法面试题34 最长01子串

有一个仅有0和1组成的01串,找到其中最长的一段子串,使得该子串中0和1的数目相等...


九章算法面试题33 数组波峰

一个数组A[1..n],假设数组中没有任何相邻两数相等,满足A[1]<A[2],A[n-1]&...


九章算法面试题32 小球排序

有红黄蓝三色的小球若干排成一列,这些小球进行排序,请使用尽量少的空间和时间。...


九章算法面试题31 子数组的最大差

给定一个数组,求两个不相交的并且是连续的子数组A和B(位置连续),满足|sum(A) - sum(B...


九章算法面试题30 最短距离和

初阶:在一个n*m的矩阵中,有k个点,求矩阵中距离这k个点的距离和最近的点。进阶:如果要求这个点与所...


九章算法面试题29 子矩阵的最大公约数

给定n*n的矩阵,需要查询任意子矩阵中所有数字的最大公约数。请给出一种设计思路,对矩阵进行预处理,加...


九章算法面试题28 链表找环

初阶:给一个单链表,判断这个单链表是否存在环,如1->2->3->4->2是...


九章算法面试题27 最大连续子集

给一个整数集合S,定义S的子集D为连续子集当且仅当D中的整数构成连续的整数序列。求S的最大连续子集,...


九章算法面试题26 方格取数

初阶:有一个n*m的矩阵,需要从坐上角(1,1)走到右下角(n,m),只能向右和向下走。矩阵中的每个...


九章算法面试题25 反转单词序列

将一个句子中的单词逆序排列。要求使用O(1)的额外存储空间。如I Love You逆序之后是You ...


九章算法面试题24 Fizz Buzz

初阶:给一个区间[a,b],对于区间中每个数,如果是3的倍数,输出Fizz,如果是5的倍数,输出Bu...


九章算法面试题23 栈上实现Min函数

实现一个带Min函数的栈(Stack),让其可以支持O(1)的Push,O(1)的Pop,O(1)的...


九章算法面试题22 扔棋子

初阶:有一个100层高的大厦,你手中有两个相同的玻璃围棋子。从这个大厦的某一层及更高的层扔下围棋子就...


九章算法面试题21 寻找最近单词对

初阶:有一篇包含N个单词的文章和M个单词对,对于每个单词对,如果他们在文章中都出现了,求出他们在文章...


九章算法面试题20 寻找重复的URL

给定A、B两个大文件,各存放50亿个url,每个url各占256字节,内存限制是4G,让你找出同时在...


九章算法面试题19 最常访问IP

给你一个海量的日志数据,提取出某日访问网站次数最多的IP地址。...


九章算法面试题18 复制链表

初阶:复制一个简单链表。假设链表节点只包含data和next。进阶:假设链表节点新增一个属性叫ran...


九章算法面试题17 从输入流中随机取记录

有一个很大很大的输入流,大到没有存储器可以将其存储下来,而且只输入一次,如何从这个输入流中等概率随机...


九章算法面试题16 01随机生成函数

有一个01随机生成函数,rand(2),以p的概率生成1,1-p的概率生成0。请用这个生成函数设计一...


九章算法面试题15 字符串编辑距离

有两个字符串A和B,对A可以进行如下的操作:插入一个字符,删除一个字符,替换一个字符。问A可以通过最...


九章算法面试题14 超过一半的数

初阶:有N个数,其中一个数的出现次数严格超过了一半。求这个数。进阶1:有N个数,其中两个数的出现次数...


九章算法面试题13 随机数生成器

有一个随机数生成器,每次等概率的返回1到5中的一个整数。现在需要你利用这个随机数生成器来设计一个新的...


九章算法面试题12 最大子区间/矩阵

初阶:数组A中有N个数,需要找到A的最大子区间,使得区间内的数和最大。即找到0<=i<=...


九章算法面试题11 递增矩阵

递增矩阵是指每一行和每一列均从小到大排列矩阵。给你一个递增矩阵A和整数x,设计一个算法在A中查找x,...


九章算法面试题10 赛马问题

有25匹马,有一个5个赛道的马场,每场比赛可以决出5匹马的排名,假设每匹马发挥稳定,且不会出现名次相...


九章算法面试题9 前k大的和

初阶:有两个数组A和B,每个数组有k个数,从两个数组中各取一个数加起来可以组成k*k个和,求这些和中...


九章算法面试题8 第k大的数

初阶:有两个数组A和B,假设A和B已经有序(从大到小),求A和B数组中所有数的第K大。进阶:有N台机...


九章算法面试题7 分层遍历二叉树

初阶:给一棵二叉树,按照层次进行输出,第一行输出第一层的节点,第二行输出第二层,如此类推。进阶:如果...


九章算法面试题6 负载均衡

设计一个用于负载均衡的数据结构,支持加入一台机器,撤出一台机器,在活跃的机器集合中“等概率”随机选中...


九章算法面试题5 有序数组合并

初阶:合并两个有序数组A和B,使得结果依然有序。进阶:合并两个有序数组A和B,假设A有n个数,B有m...


九章算法面试题4 索引比例

估算Baidu和Google的网页索引数量比。你可以在合理的范围内做出一定情况的假设,...


九章算法面试题3 找坏球

有12个球,1个没有砝码的天秤。其中有11个球的重量是一样的,另外1个是坏球,和其他球的重量不一样,...


九章算法面试题2 抄书问题

有n本书和k个抄写员。要求n本书必须连续的分配给这k个抄写员抄写。也就是说前a1本书分给第一个抄写员...


九章算法面试题1 落单的数

有2n+1个数,其中2n个数两两成对,1个数落单,找出这个数。要求O(n)的时间复杂度,O(1)的空...


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值