由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一个CareerCup上的题
相关主题
求教两道面试题问一个数据结构的问题
G家电面题目有人愿意合买careercup那本书吗?
careercup 150 deadlock 一题一个NxN矩阵每行每列都sort好,如何排序?
linkedin 电面题目一个特别的inplace merge two sorted arrays
问道题数组中找和为0的3个数,4个数
How to turn a binary search tree into a sorted array?问个经典问题的improvement
counting sort an array of objects怎么做Google 面试题 一道
FB的k-d tree面试题please help 这个题 (转载)
相关话题的讨论汇总
话题: arraylist话题: int话题: careercup话题: count话题: nlogn
进入JobHunting版参与讨论
1 (共1页)
T*****8
发帖数: 119
1
不知道有没有O(n)的算法。。。
Count smaller elements on right side
eg : [4,12,5,6,1,34,3,2]
o/p [3,5,3,3,0,2,1,0]
r*****b
发帖数: 310
2
As far as I know, we can have an O(nlogn) algo for this.
http://basicalgos.blogspot.com/2012/03/20-count-smaller-element
Not sure about O(n). I don't think that we can finally reach O(n).

【在 T*****8 的大作中提到】
: 不知道有没有O(n)的算法。。。
: Count smaller elements on right side
: eg : [4,12,5,6,1,34,3,2]
: o/p [3,5,3,3,0,2,1,0]

l***i
发帖数: 1309
3
divide and conquer, count each half and also sort them, then you can do O(
nlogn). I agree that O(n) seems unlikely.
w***y
发帖数: 6251
4
55555 我怎么没看懂这个题目什么意思
t*********7
发帖数: 255
5
用O(N)空间,COUNT SORT做前面COUNT那个PROCESS,出来的数组就是这个数字之前有几个
比他小的吧...这样行么?
q******8
发帖数: 848
6
nlogn吧,sort,然后binary search找。
P*******U
发帖数: 203
7
binary search 的时候怎么做到只考虑右边的比它小的?

【在 q******8 的大作中提到】
: nlogn吧,sort,然后binary search找。
e***l
发帖数: 710
8
从后往前建堆. 记录新node移动的信息. 整个复杂度应该是build heap的时间,O(n)。
这样对不对?
c***g
发帖数: 472
9
应该是,BINARY SEARCH之后,就可以找到INDEX,这个INDEX就是小于它的个数吧

er) 的大作中提到: 】

【在 P*******U 的大作中提到】
: binary search 的时候怎么做到只考虑右边的比它小的?
P*******U
发帖数: 203
10
是啊,但是题目要求Count smaller elements on right side,不是general的smaller
elements啊

【在 c***g 的大作中提到】
: 应该是,BINARY SEARCH之后,就可以找到INDEX,这个INDEX就是小于它的个数吧
:
: er) 的大作中提到: 】

相关主题
How to turn a binary search tree into a sorted array?问一个数据结构的问题
counting sort an array of objects怎么做有人愿意合买careercup那本书吗?
FB的k-d tree面试题一个NxN矩阵每行每列都sort好,如何排序?
进入JobHunting版参与讨论
s******n
发帖数: 3946
11
维护一个bst,每个节点存子树的节点总数。
来一个数字后插入,旋转等,需要修改节点数。。
那么比这个数字小的节点总数为:
插入节点的左儿子节点数,加上所有祖先节点的左儿子节点数,向上查找祖先节点的终止条件是当前节点已经是父亲节点的左儿子。
e***l
发帖数: 710
12
从答案[3,5,3,3,0,2,1,0]推不出来排序的结果,所以先sort的话做了多余的操作。从
后往前建堆,虽然是n次lgn的binary search,但是这个级数能收敛到O(n)。你看书上
建堆的分析。这样应该是对的。
s******n
发帖数: 3946
13
把一个数字插入堆中,如何知道堆中比这个数字小的集合总数?堆的特性是某一节点的
后代都比它小,但不代表所有比它小的都是它后代。

【在 e***l 的大作中提到】
: 从后往前建堆. 记录新node移动的信息. 整个复杂度应该是build heap的时间,O(n)。
: 这样对不对?

e***l
发帖数: 710
14
你说的对。我再想想

【在 s******n 的大作中提到】
: 把一个数字插入堆中,如何知道堆中比这个数字小的集合总数?堆的特性是某一节点的
: 后代都比它小,但不代表所有比它小的都是它后代。

q******8
发帖数: 848
15
int[] smaller_on_right(int[] array){
int length = array.length;
int[] result = new int[length];
ArrayList arraylist = new ArrayList();
for(int i=0; i arraylist.add(array[i]);
}
Collections.sort(arraylist);//nlgn
for(int j=0; j result[j] = Collections.binarySearch(arraylist, array[j]);//lgn
arraylist.remove(result[j]);//这步如果是array的话,算法就不是
nlogn了,不过如果是linkedlist的话,可以在每个node里存个index,remove就是o(1
)了
}
return result;
}
w****o
发帖数: 2260
16
数组里可以有重复的数吗?
如果a[] = { 5 5 5 5 5}, 结果是[ 0 0 0 0 0]吗?

【在 T*****8 的大作中提到】
: 不知道有没有O(n)的算法。。。
: Count smaller elements on right side
: eg : [4,12,5,6,1,34,3,2]
: o/p [3,5,3,3,0,2,1,0]

T*****8
发帖数: 119
17
不知道有没有O(n)的算法。。。
Count smaller elements on right side
eg : [4,12,5,6,1,34,3,2]
o/p [3,5,3,3,0,2,1,0]
r*****b
发帖数: 310
18
As far as I know, we can have an O(nlogn) algo for this.
http://basicalgos.blogspot.com/2012/03/20-count-smaller-element
Not sure about O(n). I don't think that we can finally reach O(n).

【在 T*****8 的大作中提到】
: 不知道有没有O(n)的算法。。。
: Count smaller elements on right side
: eg : [4,12,5,6,1,34,3,2]
: o/p [3,5,3,3,0,2,1,0]

l***i
发帖数: 1309
19
divide and conquer, count each half and also sort them, then you can do O(
nlogn). I agree that O(n) seems unlikely.
w***y
发帖数: 6251
20
55555 我怎么没看懂这个题目什么意思
相关主题
一个特别的inplace merge two sorted arraysGoogle 面试题 一道
数组中找和为0的3个数,4个数please help 这个题 (转载)
问个经典问题的improvementFacebook Puzzle Gattaca
进入JobHunting版参与讨论
t*********7
发帖数: 255
21
用O(N)空间,COUNT SORT做前面COUNT那个PROCESS,出来的数组就是这个数字之前有几个
比他小的吧...这样行么?
q******8
发帖数: 848
22
nlogn吧,sort,然后binary search找。
P*******U
发帖数: 203
23
binary search 的时候怎么做到只考虑右边的比它小的?

【在 q******8 的大作中提到】
: nlogn吧,sort,然后binary search找。
e***l
发帖数: 710
24
从后往前建堆. 记录新node移动的信息. 整个复杂度应该是build heap的时间,O(n)。
这样对不对?
c***g
发帖数: 472
25
应该是,BINARY SEARCH之后,就可以找到INDEX,这个INDEX就是小于它的个数吧

er) 的大作中提到: 】

【在 P*******U 的大作中提到】
: binary search 的时候怎么做到只考虑右边的比它小的?
P*******U
发帖数: 203
26
是啊,但是题目要求Count smaller elements on right side,不是general的smaller
elements啊

【在 c***g 的大作中提到】
: 应该是,BINARY SEARCH之后,就可以找到INDEX,这个INDEX就是小于它的个数吧
:
: er) 的大作中提到: 】

s******n
发帖数: 3946
27
维护一个bst,每个节点存子树的节点总数。
来一个数字后插入,旋转等,需要修改节点数。。
那么比这个数字小的节点总数为:
插入节点的左儿子节点数,加上所有祖先节点的左儿子节点数,向上查找祖先节点的终止条件是当前节点已经是父亲节点的左儿子。
e***l
发帖数: 710
28
从答案[3,5,3,3,0,2,1,0]推不出来排序的结果,所以先sort的话做了多余的操作。从
后往前建堆,虽然是n次lgn的binary search,但是这个级数能收敛到O(n)。你看书上
建堆的分析。这样应该是对的。
s******n
发帖数: 3946
29
把一个数字插入堆中,如何知道堆中比这个数字小的集合总数?堆的特性是某一节点的
后代都比它小,但不代表所有比它小的都是它后代。

【在 e***l 的大作中提到】
: 从后往前建堆. 记录新node移动的信息. 整个复杂度应该是build heap的时间,O(n)。
: 这样对不对?

e***l
发帖数: 710
30
你说的对。我再想想

【在 s******n 的大作中提到】
: 把一个数字插入堆中,如何知道堆中比这个数字小的集合总数?堆的特性是某一节点的
: 后代都比它小,但不代表所有比它小的都是它后代。

相关主题
请教careercup上的一道题G家电面题目
老纳跟风顶风作案,贡献一道g家上周的题目careercup 150 deadlock 一题
求教两道面试题linkedin 电面题目
进入JobHunting版参与讨论
q******8
发帖数: 848
31
int[] smaller_on_right(int[] array){
int length = array.length;
int[] result = new int[length];
ArrayList arraylist = new ArrayList();
for(int i=0; i arraylist.add(array[i]);
}
Collections.sort(arraylist);//nlgn
for(int j=0; j result[j] = Collections.binarySearch(arraylist, array[j]);//lgn
arraylist.remove(result[j]);//这步如果是array的话,算法就不是
nlogn了,不过如果是linkedlist的话,可以在每个node里存个index,remove就是o(1
)了
}
return result;
}
w****o
发帖数: 2260
32
数组里可以有重复的数吗?
如果a[] = { 5 5 5 5 5}, 结果是[ 0 0 0 0 0]吗?

【在 T*****8 的大作中提到】
: 不知道有没有O(n)的算法。。。
: Count smaller elements on right side
: eg : [4,12,5,6,1,34,3,2]
: o/p [3,5,3,3,0,2,1,0]

h*********e
发帖数: 247
33
[5 4 3]
5 has 4 and 3 less than it, so 2 numbers to 5's right less than 5
4 has 3 less than it, so the result is
[2 1 0]

【在 w***y 的大作中提到】
: 55555 我怎么没看懂这个题目什么意思
1 (共1页)
进入JobHunting版参与讨论
相关主题
please help 这个题 (转载)问道题
Facebook Puzzle GattacaHow to turn a binary search tree into a sorted array?
请教careercup上的一道题counting sort an array of objects怎么做
老纳跟风顶风作案,贡献一道g家上周的题目FB的k-d tree面试题
求教两道面试题问一个数据结构的问题
G家电面题目有人愿意合买careercup那本书吗?
careercup 150 deadlock 一题一个NxN矩阵每行每列都sort好,如何排序?
linkedin 电面题目一个特别的inplace merge two sorted arrays
相关话题的讨论汇总
话题: arraylist话题: int话题: careercup话题: count话题: nlogn