avatar
Akamai店面一题# JobHunting - 待字闺中
y*e
1
给一个array长度为n。其中随机放了n1个红色,n2个绿色和n3个蓝色的球(n1 + n2 +
n3 = n)。设计一个算法排序这个array使得红球在所有绿球的前面,蓝球在所有绿球
的后面。
条件1是访问array里的球只能做一次颜色查询,例如访问到球array[i]时,只能查询球
array[i]一次。这个球可以和其他位置的球任意交换位置。
条件2是memory是O(1)
avatar
h*6
2
三个指针i,j,k,分别指向0, n1, n1+n2
如果i是红的,i后移;
如果i是绿的,ij交换,j后移;
如果i是蓝的,ik交换,k后移。
如果i到头了,jk还没到,继续jk交换后移。
avatar
l*a
3
不给你n1,n2呢

【在 h**6 的大作中提到】
: 三个指针i,j,k,分别指向0, n1, n1+n2
: 如果i是红的,i后移;
: 如果i是绿的,ij交换,j后移;
: 如果i是蓝的,ik交换,k后移。
: 如果i到头了,jk还没到,继续jk交换后移。

avatar
a*0
4
leetcode原题吗?
avatar
l*8
5
dutch flag problem?

+

【在 y***e 的大作中提到】
: 给一个array长度为n。其中随机放了n1个红色,n2个绿色和n3个蓝色的球(n1 + n2 +
: n3 = n)。设计一个算法排序这个array使得红球在所有绿球的前面,蓝球在所有绿球
: 的后面。
: 条件1是访问array里的球只能做一次颜色查询,例如访问到球array[i]时,只能查询球
: array[i]一次。这个球可以和其他位置的球任意交换位置。
: 条件2是memory是O(1)

avatar
l*a
6
又会有人夸你牛了 :)

【在 l*********8 的大作中提到】
: dutch flag problem?
:
: +

avatar
l*8
7
不敢当啊。 appentice都说了是leetcode原题。 我刚才看了一下是sort color.

【在 l*****a 的大作中提到】
: 又会有人夸你牛了 :)
avatar
m*n
8
leetcode原题,当时好像用了2前2后,4个index,从两边向中间扫。

+

【在 y***e 的大作中提到】
: 给一个array长度为n。其中随机放了n1个红色,n2个绿色和n3个蓝色的球(n1 + n2 +
: n3 = n)。设计一个算法排序这个array使得红球在所有绿球的前面,蓝球在所有绿球
: 的后面。
: 条件1是访问array里的球只能做一次颜色查询,例如访问到球array[i]时,只能查询球
: array[i]一次。这个球可以和其他位置的球任意交换位置。
: 条件2是memory是O(1)

avatar
l*a
9
前后两个就可以了

【在 m*****n 的大作中提到】
: leetcode原题,当时好像用了2前2后,4个index,从两边向中间扫。
:
: +

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。