您的位置:首页 > 新闻 > 会展 > 搜索引擎优化的工作流程是什么?_好看到让人久久不忘的电影_如何优化seo技巧_抖音推广公司

搜索引擎优化的工作流程是什么?_好看到让人久久不忘的电影_如何优化seo技巧_抖音推广公司

2025/9/2 12:36:36 来源:https://blog.csdn.net/qq_43920838/article/details/143256873  浏览:    关键词:搜索引擎优化的工作流程是什么?_好看到让人久久不忘的电影_如何优化seo技巧_抖音推广公司
搜索引擎优化的工作流程是什么?_好看到让人久久不忘的电影_如何优化seo技巧_抖音推广公司

目录

  • 题目
  • 解法

题目

给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是 等可能 的。

实现 Solution class:

Solution(int[] nums) 使用整数数组 nums 初始化对象
int[] reset() 重设数组到它的初始状态并返回
int[] shuffle() 返回数组随机打乱后的结果

解法

class Solution {
public:Solution(vector<int>& nums) {this->nums = nums;this->original.resize(nums.size());copy(nums.begin(), nums.end(), original.begin());}vector<int> reset() {copy(original.begin(), original.end(), nums.begin());return nums;}vector<int> shuffle() {for (int i = 0; i < nums.size(); ++i) {int j = i + rand() % (nums.size() - i);swap(nums[i], nums[j]);}return nums;}
private:vector<int> nums;vector<int> original;
};/*** 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();*/

洗牌算法,很形象,确实,每次洗的牌是将当前牌与当前牌后方随机的牌交换。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com