Pergunta de entrevista da empresa Jane Street

Output the random permutation for a given string

Respostas da entrevista

Sigiloso

29 de jan. de 2012

I came up with an O(n) algorithm, but the interviewee asked more

Sigiloso

4 de out. de 2012

This can be done optimally in O(n) time by iterating over the string, swapping the character at index i with the character at a random index each time.

Sigiloso

1 de nov. de 2017

It's not possible to do asymptotically better than O(n) because on average you'll have to change n-1 of the characters (assuming they're all distinct).