给一个包含正负整数的数组,要求对这个数组中的数进行重新排列,使得其正负交替出现。首先出现负数,然后是正数,然后是负数。有多余的数的一方,就放在末尾。
如 [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:29:38
收藏:
0 评论:
0 赞:
0 阅读:
388
N个孩子站成一排,每个人分给一个权重。按照如下的规则分配糖果:
每个孩子至少有一个糖果权重较高的孩子,会比他的邻居获得更多的糖果。
问题是,最少需要多少个糖果?...
分类:
编程语言 时间:
2015-05-13 10:29:32
收藏:
0 评论:
0 赞:
0 阅读:
1165
对于给定字符串,求最少需要几次划分,能够将字符串划分为若干子串,每个子串都是一个回文串。如abaab,需要至少1次划分,将字符串划分为:a|baab,每个部分均为回文串。...
分类:
编程语言 时间:
2015-05-13 10:29:22
收藏:
0 评论:
0 赞:
0 阅读:
894
规定你只能使用数据结构栈(支持pop, push),怎么样用栈来模拟一个队列的pop和push?...
分类:
编程语言 时间:
2015-05-13 10:29:07
收藏:
0 评论:
0 赞:
0 阅读:
132
?在《九章算法面试题23 栈上实现Min函数》中,我们介绍了在栈上实现一个O(1)的Min方法。那么,如何在队列上实现一个Min方法?
要求,队列除了支持基本的Push(x) Pop()的方法以外,还需要支持Min方法,返回当前队列中的最小元素。每个方法的均摊复杂度为O(1)...
分类:
编程语言 时间:
2015-05-13 10:29:01
收藏:
0 评论:
0 赞:
0 阅读:
360
数一数在0到n之间有多少个数字k(0<=k<=9)。如n=12时,[0,1,2...,12]之间一共有5个1。分别包含在[1, 10, 11, 12]之中。...
分类:
编程语言 时间:
2015-05-13 10:28:26
收藏:
0 评论:
0 赞:
0 阅读:
262
在早期的svn代码控制器中,代码版本的编号是从1开始累加的。有一天你提交了一个带BUG的代码到代码库中,使得这个版本上的单元测试(Unit Tests)失败了。而正不巧由于为此代码库贡献代码的每个人的工作都比较独立,你又休假去了,于是没有人去修复这个bug,这导致了从某个版本开始,后面的每个版本的单元测试都无法通过。假如说现在的代码版本号已经到了n。请找出第一个出错的代码版本(也就是你提交的那个有BUG的版本)。...
分类:
编程语言 时间:
2015-05-13 10:28:13
收藏:
0 评论:
0 赞:
0 阅读:
276
给定一个带重复元素的整数集合,求出这个集合中所有元素的全排列。...
分类:
编程语言 时间:
2015-05-13 10:28:04
收藏:
0 评论:
2 赞:
0 阅读:
891
给一个字符串和一个旋转的偏移量offset,将字符串循环右移offset位。
如:"abcdefg" 循环右移 4位之后变为了:"defgabc"
要求做到O(1)的额外空间耗费,O(n)的时间...
分类:
编程语言 时间:
2015-05-13 10:27:53
收藏:
0 评论:
0 赞:
0 阅读:
317
给出一棵二叉树和两个二叉树上的节点,求出这两个点的最近公共祖先(Lowest Common Ancestor, LCA)。...
分类:
编程语言 时间:
2015-05-13 10:27:43
收藏:
0 评论:
0 赞:
0 阅读:
486
给出一条带随机指针的链表,对其进行深度拷贝(Deep Copy)。...
分类:
编程语言 时间:
2015-05-13 10:27:33
收藏:
0 评论:
0 赞:
0 阅读:
172
有一个大小为m(整数)的背包,和n个体积为正整数的物品(大小分别为A[i])。将这个n个物品选一些装到背包中,请问最多能装满多少的体积?...
分类:
编程语言 时间:
2015-05-13 10:27:23
收藏:
0 评论:
0 赞:
0 阅读:
193
有一个大小为m(整数)的背包,和n个体积(大小分别为A[i](整数))和价值(价格分别为B[i](整数))的物品。将这n个物品选一些装到背包中,请问能装价值最大为多少的物品?...
分类:
编程语言 时间:
2015-05-13 10:27:13
收藏:
0 评论:
0 赞:
0 阅读:
233
有n层的台阶,一开始你站在第0层,每次可以爬两层或者一层。请问爬到第n层有多少种不同的方法?...
分类:
编程语言 时间:
2015-05-13 10:27:03
收藏:
0 评论:
0 赞:
0 阅读:
264
给出一个图,并且给出图的起始节点,知道这个图的节点的定义,要求克隆这个图,返回克隆图的起始节点。...
分类:
编程语言 时间:
2015-05-13 10:26:53
收藏:
0 评论:
0 赞:
0 阅读:
243
给出K个排序好的数组,用什么方法可以最快的把他们合并成为一个排序数组?...
分类:
编程语言 时间:
2015-05-13 10:26:52
收藏:
0 评论:
0 赞:
0 阅读:
265
计算(a^n)%b,其中a,b和n都是32位的整数。 例如 (2^31)%3 = 2。...
分类:
编程语言 时间:
2015-05-13 10:26:41
收藏:
0 评论:
0 赞:
0 阅读:
974
有一种特殊的数,它的素数因子只有可能是3,5,7,不可能是其他的素数, 我们把这种数从小到大排序,得到3,5, 7, 9, 15 ... 现在我们要求其中第K大得数是多少,比如其中第4大的数是9。...
分类:
编程语言 时间:
2015-05-13 10:26:31
收藏:
0 评论:
0 赞:
0 阅读:
344
给一个有向无环图,求出这个有向无环图的拓扑排序结果。...
分类:
编程语言 时间:
2015-05-13 10:26:21
收藏:
0 评论:
0 赞:
0 阅读:
205