洗牌算法-Shuffle an Array
来源:互联网 发布:php实例 百度网盘 编辑:程序博客网 时间:2024/05/16 17:42
leetcode上的原题,将一个数组打乱。
洗牌算法的原理就是交换任意两个数的值。利用rand()函数生成随机index,遍历数组,与随机index交换。
代码如下:
class Solution {private: vector<int> nums_;public: Solution(vector<int> nums) { nums_ = nums; } /** Resets the array to its original configuration and return it. */ vector<int> reset() { return nums_; } /** Returns a random shuffling of the array. */ vector<int> shuffle() { vector<int> num_ret; num_ret = nums_; int len = num_ret.size(); for(int i=0;i<len;++i) { int index = rand()%len; int tmp = num_ret[i]; num_ret[i] = num_ret[index]; num_ret[index] = tmp; } return num_ret; }};
阅读全文
0 0
- 洗牌算法-Shuffle an Array
- leetcode 384. Shuffle an Array 数组洗牌
- shuffle算法(洗牌算法)
- leetcode 384- Shuffle an Array --STL shuffle算法的实现
- 洗牌算法(shuffle)
- 洗牌算法shuffle
- 洗牌算法shuffle
- Shuffle an Array
- 【Leetcode】Shuffle an Array
- Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 149.Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- JZOJ 3418. 【NOIP动态规划专题】选课
- 鸽巢原理
- Noip2012 Day1 T1 Vigenère 密码
- 3 资源管理
- mysql 视图 以及存储过程小总结
- 洗牌算法-Shuffle an Array
- ionic3+angular4动态设置入口页rootpage,根据不同的状态值来确定不同的入口页
- 命令行参数的获取
- CSS 样式书写规范
- 2017 Multi-University Training Contest
- H5面试--弹出的a和b分别是什么
- C++ 关键字
- 理解A*寻路算法具体过程
- Hibernate对象的三种状态及避免误更新