力扣-384题 打乱数组(C++)

题目链接:https://leetcode-cn.com/problems/shuffle-an-array/
题目如下:
在这里插入图片描述
在这里插入图片描述

class Solution {
    
    
public:
    Solution(vector<int>& nums) {
    
    
        array=nums;
    }
    
    vector<int> reset() {
    
    
        return array;
    }
    
    vector<int> shuffle() {
    
    
        vector<int> result=array;
        for(int i=1;i<result.size();i++){
    
    
            int r=rand()%(i+1);
            if(r!=i){
    
    
                swap(result[r],result[i]);
            }
        }

        return result;

    }

private:
    vector<int> array;
};

/**
 * 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();
 */

おすすめ

転載: blog.csdn.net/qq_40467670/article/details/121505007