LeetCode 384. Shuffle an Array
来源:互联网 发布:武汉少儿编程培训班 编辑:程序博客网 时间:2024/05/29 10:17
Problem Statement
(Source) Shuffle a set of numbers without duplicates.
Example:
// Init an array with set 1, 2, and 3.int[] nums = {1,2,3};Solution solution = new Solution(nums);// Shuffle the array [1,2,3] and return its result. Any permutation of [1,2,3] must equally likely to be returned.solution.shuffle();// Resets the array back to its original configuration [1,2,3].solution.reset();// Returns the random shuffling of array [1,2,3].solution.shuffle();
Solution
class Solution(object): def __init__(self, nums): """ :type nums: List[int] :type size: int """ self.copy = copy.deepcopy(nums) self.nums = nums def reset(self): """ Resets the array to its original configuration and return it. :rtype: List[int] """ self.nums = copy.deepcopy(self.copy) return self.nums def shuffle(self): """ Returns a random shuffling of the array. :rtype: List[int] """ n = len(self.nums) for i in xrange(n - 1, 0, -1): j = random.randint(0, i) self.nums[i], self.nums[j] = self.nums[j], self.nums[i] return self.nums# Your Solution object will be instantiated and called as such:# obj = Solution(nums)# param_1 = obj.reset()# param_2 = obj.shuffle()
References
(1) Fisher–Yates shuffle.
0 0
- [leetcode] 384. Shuffle an Array
- 【leetcode】384. Shuffle an Array
- 384.[LeetCode]Shuffle an Array
- [LeetCode]384. Shuffle an Array
- [LeetCode] 384. Shuffle an Array
- LeetCode 384. Shuffle an Array
- LeetCode 384. Shuffle an Array
- LeetCode 384. Shuffle an Array
- [Leetcode]384. Shuffle an Array
- 【LeetCode】 384. Shuffle an Array
- [leetcode]384. Shuffle an Array
- LeetCode 384. Shuffle an Array
- [LeetCode]384. Shuffle an Array
- [LeetCode]384. Shuffle an Array
- leetcode 384. Shuffle an Array
- 384. Shuffle an Array [Leetcode]
- LeetCode:384. Shuffle an Array
- 【Leetcode】Shuffle an Array
- HDU 5963 朋友(找规律)
- Linux系统移植笔记
- 对“Java”的诞生历史、特点、定义等HR常问的简单题
- Mysql5.7下载安装与配置
- 手把手教你怎么去除Android APP里面的广告
- LeetCode 384. Shuffle an Array
- Android开发四大组件
- HDU 5980 Find Small A(水题)
- 树状数组求逆序数 模版
- VS2013 C++环境下DLL和LIB文件目录及名称修改
- Glide和Picasso
- HTTP500.21错误代码解决办法
- day02 Activity相关
- BZOJ 1598 第k短路