首页 > 代码库 > Shuffle an Array
Shuffle an Array
class Solution {private: vector<int> arr, idx;public: Solution(vector<int> nums) { srand(time(NULL)); idx.resize(nums.size()); arr.resize(nums.size()); for(int i = 0; i < nums.size(); ++i) { arr[i] = nums[i]; idx[i] = nums[i]; } } /** Resets the array to its original configuration and return it. */ vector<int> reset() { for(int i = 0; i < arr.size(); ++i) { arr[i] = idx[i]; } return arr; } /** Returns a random shuffling of the array. */ vector<int> shuffle() { for(int i = arr.size() - 1; i >= 0; --i) { int j = rand() % (i + 1); swap(arr[i], arr[j]); } return arr; }};
初始化种子一定要在类的构造函数里
Shuffle an Array
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。