384. 打乱数组
384. 打亂數(shù)組
給你一個整數(shù)數(shù)組 nums ,設計算法來打亂一個沒有重復元素的數(shù)組。
實現(xiàn) Solution class:
- Solution(int[] nums) 使用整數(shù)數(shù)組 nums 初始化對象
- int[] reset() 重設數(shù)組到它的初始狀態(tài)并返回
- int[] shuffle() 返回數(shù)組隨機打亂后的結果
提示:
- 1 <= nums.length <= 200
- -10610^6106 <= nums[i] <= 10610^6106
- nums 中的所有元素都是 唯一的
- 最多可以調用 5 * 10410^4104 次 reset 和 shuffle
解題思路
代碼
class Solution { public:vector<int> old;Solution(vector<int>& nums) {old=nums;}vector<int> reset() {return old;}vector<int> shuffle() {auto temp=old;for (int i = temp.size(); i >=1 ; --i) {swap(temp[rand()%i],temp[i-1]);}return temp;} };/*** Your Solution object will be instantiated and called as such:* Solution* obj = new Solution(nums);* vector<int> param_1 = obj->reset();* vector<int> param_2 = obj->shuffle();*/總結
- 上一篇: 梦到剃头发是什么意思
- 下一篇: 1854. 人口最多的年份