随机算法
Posted liuweimingcprogram
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机算法相关的知识,希望对你有一定的参考价值。
Fisher–Yates shuffle 洗牌算法
海量数据随机抽样问题(蓄水池问题)
题目
class Solution { private: vector<int> vc; public: Solution(vector<int> nums) { vc = nums; } int pick(int target) { vector<int> tmp; int size = 0; for (int i = 0; i < vc.size(); ++i) { if (target == vc[i]) { if (tmp.size() != 0) { int lim = 66666666 - 66666666 % i; int id = rand(); while (id > lim) id = rand(); id %= ++size; if (id == 0) tmp[id] = i; } else { ++size; tmp.push_back(i); } } } return tmp[0]; } };
以上是关于随机算法的主要内容,如果未能解决你的问题,请参考以下文章