我是链接

看到这道题,想到做的几道什么洗牌的题,感觉自己不是很熟,但也就是rand()函数的调用,刚开始用map<int, vector<int >>来做,tle,后来就想着直接保存nums数组,和每个元素的数目,然后先生成一个随机的第几个target,然后从nums里面再找这个index,交了,就过了,有套路么?

class Solution {
public:
map<int, int> m;
vector<int> num;
Solution(vector<int> nums) {
num = nums;
for (int i = 0; i < nums.size(); i++) {
m[nums[i]]++;
}
srand( (unsigned)time( NULL ) );
} int pick(int target) {
int t = m[target];
int index = rand() % t + 1;
t = 0;
for (int i = 0; i < num.size(); i++) {
if(num[i] == target) {
t++;
if(t == index) {
return i;
}
}
}
return 0;
}
};

最新文章

  1. web音乐播放器总结
  2. php实现中文转数字,实现方式很智能很php
  3. WAL
  4. HTML/CSS的学习过程一览
  5. Linux 学习之路:read,array,declare
  6. DevExpress VCL 一键安装工具
  7. 3.linux安装vsftpd服务
  8. 深入分析 Java 中的中文编码问题--转
  9. 下拉菜单中的Option对象
  10. 【Alpha阶段】第六次scrum meeting
  11. input选择框样式修改与自定义
  12. Gson解析Json数组
  13. Perl IO:随机读写文件
  14. webapi 统一处理时间格式
  15. xib view frame 大小调整
  16. 【BZOJ3551】【BZOJ3545】 【ONTAK2010】 Peaks (kruskal重构树+主席树)
  17. HDP对应的各组件的版本信息
  18. Maven java.lang.OutOfMemeoryError 问题
  19. [翻译] MJParallaxCollectionView
  20. location 符号

热门文章

  1. HDU 2199 Can you solve this equation? (二分 水题)
  2. DONET三层架构开发初步
  3. 【转】Android studio 导入github工程
  4. c/c++中使用指针需要注意的问题
  5. Spring技术内幕:Spring AOP的实现原理(二)
  6. android 基于百度地图api开发定位以及获取详细地址
  7. css固定表格表头(各浏览器通用)
  8. [Practical Git] Format commit history with git log arguments
  9. VC depends使用说明
  10. 《Linux内核修炼之道》 之 高效学习Linux内核