Q:给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如何才能从这个无穷尽的流中随机的选取1000个关键字?


A:首先定义长度为1000的数组,将前1000个关键字放置到数组中。然后对于第1001及以后的每一个关键字(设为第n个),这个关键字被选中的概率为1000/n,所以以这个概率来和数组中随机一个元素替换。

//1000/n概率的实现
if(rand()%n<1000)swap(str[n],str[rand()%1000]);

转载于:https://www.cnblogs.com/daniagger/archive/2012/07/11/2585679.html

如何随机选取1000个关键字相关推荐

  1. 一道海量日志的随机选取问题

    原题是这样的: 假设有100G的日志存在于磁盘之上,其中每条日志占用的空间不多于100个字节,现在从日志随机选取N条日志,保证每条日志的选取概率相同. 解1: 最简单且严格的做法是扫描日志两遍. 第一 ...

  2. JavaScript4种数组随机选取实战源码

    在我们的实际开发工作中,经常都会使用到数组随机选取的功能需求,比如彩票随机一注,随机五注,机动车号牌随机选一个等等. 接下来的内容,来给大家分享一下,我们在开发过程中,常用到的4种数组随机选取实现方案 ...

  3. 细说PHP笔记03(第7章)--数组与数据结构,数组定义,数组遍历,数组内部指针遍历,键值操作函数,统计数组函数,回调函数处理数组元素,数组排序,拆分、合并、分解、结合数组,数组实现堆栈,随机选取元素

    1.数组 索引数组:索引值是整数 关联数组:索引值是字符串 2.数组的定义 1.以直接赋值的方式声明 $数组名[下标]=资料内容 或 $数组名[关联字符串(键值)]=资料内容 <?php $va ...

  4. Excel随机选取指定数据

    指定几个字符,想excel随机从中选取其中的一个 =CHOOSE(INT(5*RAND()+1),2,3,4,19,2) 功能: 从2,3,4,19,2 中随机选取数字 解释: RAND()函数能产生 ...

  5. js实现随机选取[10,100)中的10个整数,存入一个数组,并排序。 另考虑(10,100]和[10,100]两种情况。...

    1.js实现随机选取[10,100)中的10个整数,存入一个数组,并排序. 1 <!DOCTYPE html> 2 <html lang="en"> 3 & ...

  6. mysql 随机选择数据_从MySQL随机选取数据

    从MySQL随机选取数据最简单的办法就是使用"ORDER BY RAND()"; 方案一: SELECT * FROM `table` ORDER BY RAND() LIMIT  ...

  7. Crawler:反爬虫机制之基于urllib库+伪装浏览器+代理访问(代理地址随机选取)+实现下载某网址上所有的图片到指定文件夹

    Crawler:反爬虫机制之基于urllib库+伪装浏览器+代理访问(代理地址随机选取)+实现下载某网址上所有的图片到指定文件夹 导读 基于反爬虫机制之基于urllib库+伪装浏览器+代理访问(代理地 ...

  8. [numpy]random.choice()随机选取内容

    概述: 可以从一个int数字或1维array里随机选取内容,并将选取结果放入n维array中返回. 说明: numpy.random.choice(a, size=None, replace=True ...

  9. 从n个数中随机选取m个

    咋一看,这是个很简单的问题,但是如果n是个不确定的数呢?比如服务器每天会收到数以亿计的请求,但是目前服务器端不希望保存所有的请求,只想随机保存这些请求中的m个.试设计一种算法,能够使服务器实时保存m个 ...

最新文章

  1. VS2005中删除最近打开的项目和文件的记录
  2. Levenshtein distance最小编辑距离算法实现
  3. 连载12:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
  4. 《Linux高性能服务器编程》学习笔记
  5. HTML中行内元素与块级元素的区别
  6. 思科拓扑结构探测及VLAN设计
  7. Unit testing Cmockery 简单使用
  8. 在Spring中配置多个View解析器
  9. 拼多多上线“医药健康日” 将对最常用的OTC药品等进行补贴
  10. Windows C盘格式化或者同平台迁移oracle数据库
  11. docker中使用idea部署运行项目(项目以镜像方式运行)
  12. Android 实现 相机、相册功能 + 图片存取数据库操作
  13. liunx grep sed
  14. 理论 - 半波偶极子天线原理与计算
  15. 韩立刚计算机网络笔记-第04章 数据链路层
  16. javaWeb连接数据库实现简单的登陆注册功能
  17. app中跳转到手机浏览器,部分手机白屏解决(Vue)
  18. 销售 小姐姐 给买家打分系统,用 Python Django 又整了一个花活
  19. 电脑为何连不上手机开的热点
  20. LL(1)预测分析程序

热门文章

  1. android textview 白色,android – AutoCompleteTextview默认情况下,颜色设置为白色
  2. FileWriter写入和Scanner录入的简单操作
  3. Tomcat6.0.37,tomcat6.0.37,下访问Web项目,jsp项目不需要输入项目名称和端口号的配置方法...
  4. 原地置换法寻找数组中重复的数
  5. shell预先定义的特殊变量
  6. C++(STL):01---pair容器
  7. (二)nodejs循序渐进-nodejs基本类型和循环条件语法篇(基础篇)
  8. 《Python Cookbook 3rd》笔记(5.3):使用其他分隔符或行终止符打印
  9. 算法入门篇二 认识O(NlogN)的排序
  10. 广州科目三路考经历与注意事项分享