leetcode Shuffle an Array

leetcode Shuffle an Array

Shuffle a set of numbers without duplicates.

Example:

题目地址:leetcode Shuffle an Array

题意:给定一个数组,实现两个接口 reset() 和 shuffle(), 前者为置位返回初始的数组,后者为随机化数组。

思路:用swap,每次从[i,n-1]中随机一个数,和第i个数交换即可。

Python code如下:

当然,上面的代码是每次洗牌从上一次的结果继续进行的,这也符合我们对于洗牌的感觉。

如果每次从初始数组进行洗牌,那么reset数组只需要返回初始数组。。

 

其他的代码:

C++

Java

 

 

本题是leetcode 384 Shuffle an Array 的题解

更多题解可以查看:https://www.hrwhisper.me/leetcode-algorithm-solution/

本博客若无特殊说明则由 hrwhisper 原创发布
转载请点名出处:细语呢喃 > leetcode Shuffle an Array
本文地址:https://www.hrwhisper.me/leetcode-shuffle-array/

听说帅的人已经打赏了

Leetcode , , , , . permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *