给出飞机的起飞和降落时间的列表,用 interval 序列表示. 请计算出天上同时最多有多少架飞机?
样例
对于每架飞机的起降时间列表:[[1,10],[2,3],[5,8],[4,7]],
返回3。
注意
如果多架飞机降落和起飞在同一时刻,我们认为降落有优先权。
分析:可以根据每个线段,利用一个map来标记,对于第一个[1,10],我们标记m[1]+=1,m...
分类:
其他好文 时间:
2015-05-14 20:37:43
阅读次数:
137
给定两个整数数组(第一个是数组 A,第二个是数组 B),在数组
A 中取 A[i],数组 B 中取 B[j],A[i] 和 B[j]两者的差越小越好(|A[i] - B[j]|)。返回最小差。
样例
给定数组 A = [3,4,6,7],
B = [2,3,8,9],返回 0。
挑战
时间复杂度 O(n log n)
分析:看到时间复杂度就想到遍历A数组然...
分类:
其他好文 时间:
2015-05-14 20:35:53
阅读次数:
415
给定一个字符串,找到最多有k个不同字符的最长子字符串。
样例
例如,给定 s = "eceba" , k
= 3,
T 是 "eceb",长度为 4.
挑战
O(n), n 是所给字符串的长度
分析:采用双指针,用map记录双指针中间的字符串是否满足要求
代码:
class Solution {
public:
/**
* @param...
分类:
其他好文 时间:
2015-05-14 20:35:49
阅读次数:
654
如果让你来设计一个最基本的Web Crawler,该如何设计?需要考虑的因素有哪些?...
分类:
编程语言 时间:
2015-05-13 10:31:16
阅读次数:
1261
规定你只能使用数据结构栈(支持pop, push),怎么样用栈来模拟一个队列的pop和push?...
分类:
编程语言 时间:
2015-05-13 10:31:03
阅读次数:
139
给定一个正整数数组(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
N个孩子站成一排,每个人分给一个权重。按照如下的规则分配糖果:
每个孩子至少有一个糖果权重较高的孩子,会比他的邻居获得更多的糖果。
问题是,最少需要多少个糖果?...
分类:
编程语言 时间:
2015-05-13 10:30:05
阅读次数:
325
给一个包含正负整数的数组,要求对这个数组中的数进行重新排列,使得其正负交替出现。首先出现负数,然后是正数,然后是负数。有多余的数的一方,就放在末尾。
如 [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
对于给定字符串,求最少需要几次划分,能够将字符串划分为若干子串,每个子串都是一个回文串。如abaab,需要至少1次划分,将字符串划分为:a|baab,每个部分均为回文串。...
分类:
编程语言 时间:
2015-05-13 10:29:34
阅读次数:
406
?在《九章算法面试题23 栈上实现Min函数》中,我们介绍了在栈上实现一个O(1)的Min方法。那么,如何在队列上实现一个Min方法?
要求,队列除了支持基本的Push(x) Pop()的方法以外,还需要支持Min方法,返回当前队列中的最小元素。每个方法的均摊复杂度为O(1)...
分类:
编程语言 时间:
2015-05-13 10:29:19
阅读次数:
151