由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - card shuffle的算法我自己都想不出来
相关主题
一道老题问一下shuffle card问题
how to shuffle a deck of cards?请教一个题目
求问一道数组shuffle的问题一道面试题:数组 in-place shuffle
有多少人能自己想出来card shuffle的算法?一道rocket f 电面题
shuffle card 算法google面试问题
Anyone knowing how to shuffle a deck of cards in Java?问个Array Puzzle题
刚看了下shuffle算法。发现有个问题算法一问
minMSwap 这题能比O(n^2)更快的解法吗please help 这个题 (转载)
相关话题的讨论汇总
话题: int话题: random话题: 算法话题: shuffle话题: 想不出
进入JobHunting版参与讨论
1 (共1页)
l*y
发帖数: 21010
1
一看答案,妈的不就是swap么,应该很容易想到啊
智商低真是不好办
l*****a
发帖数: 14598
2
挖坑封ID

【在 l*y 的大作中提到】
: 一看答案,妈的不就是swap么,应该很容易想到啊
: 智商低真是不好办

l*y
发帖数: 21010
3
谁挖坑了,我就是问问大家是不是都能自己想出来

【在 l*****a 的大作中提到】
: 挖坑封ID
c*****a
发帖数: 808
4
a家的card oop啊...
l*y
发帖数: 21010
5
对啊

【在 c*****a 的大作中提到】
: a家的card oop啊...
l*y
发帖数: 21010
6
这些题你们都背过?哪儿有?

【在 c*****a 的大作中提到】
: a家的card oop啊...
c********t
发帖数: 5706
7
reservoir sampling? 没事,没做过真的很难想,俺就不会。

【在 l*y 的大作中提到】
: 一看答案,妈的不就是swap么,应该很容易想到啊
: 智商低真是不好办

h**6
发帖数: 4160
8
我承认,我自己想的是一个O(n^2)的算法。
f*******t
发帖数: 7549
9
O(NlogN)时间+O(N)空间算法:
void shuffleArray(int *array, int n) {
pair *random = new pair[n];
set used;
for (int i = 0; i < n; i++) {
int r;
do {
r = random(INT_MIN, INT_MAX);
} while (used.find(r) != used.end());
random[i] = make_pair(r, i);
}
sort(random, random + n);
for(int i = 0; i < n; i++)
array[i] = random[i].second;
}
c********t
发帖数: 5706
10
怎么会这么复杂?
O(n) 不行吗?
http://en.wikipedia.org/wiki/Fisher-Yates_shuffle

★ 发自iPhone App: ChineseWeb 7.8

【在 f*******t 的大作中提到】
: O(NlogN)时间+O(N)空间算法:
: void shuffleArray(int *array, int n) {
: pair *random = new pair[n];
: set used;
: for (int i = 0; i < n; i++) {
: int r;
: do {
: r = random(INT_MIN, INT_MAX);
: } while (used.find(r) != used.end());
: random[i] = make_pair(r, i);

f*******t
发帖数: 7549
11
我当年面A的时候,虽然知道有O(n)算法,但实在想不起来。面试官就跟我说能不能想
出个比O(n)差但比O(n^2)好的算法,我想了办天写出这个,面试官表示从没见过这种解
法,很满意。
所以说很多时候背不直观的最优解不如自己想一个新奇的解法。

【在 c********t 的大作中提到】
: 怎么会这么复杂?
: O(n) 不行吗?
: http://en.wikipedia.org/wiki/Fisher-Yates_shuffle
:
: ★ 发自iPhone App: ChineseWeb 7.8

1 (共1页)
进入JobHunting版参与讨论
相关主题
please help 这个题 (转载)shuffle card 算法
一道面试题Anyone knowing how to shuffle a deck of cards in Java?
nlogn for longest increasing subsequence刚看了下shuffle算法。发现有个问题
讨论一道面试题minMSwap 这题能比O(n^2)更快的解法吗
一道老题问一下shuffle card问题
how to shuffle a deck of cards?请教一个题目
求问一道数组shuffle的问题一道面试题:数组 in-place shuffle
有多少人能自己想出来card shuffle的算法?一道rocket f 电面题
相关话题的讨论汇总
话题: int话题: random话题: 算法话题: shuffle话题: 想不出