社区
iOS
帖子详情
随机抽取数组中N个不重复元素怎么写?求方法,思路
kinghome
2014-05-26 12:01:44
随机抽取数组中N个不重复元素怎么写?求方法,思路
...全文
881
5
打赏
收藏
随机抽取数组中N个不重复元素怎么写?求方法,思路
随机抽取数组中N个不重复元素怎么写?求方法,思路
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
李晓东1
2016-09-18
打赏
举报
回复
3楼的方法很好呀
ReyZhang
2014-05-28
打赏
举报
回复
思路: 1.根据数组的个数,来随机生成数组的下标索引,因为根据这个下标索引就可以得到数组中对应的元素。 2.如何存储元素,并保证不重复。这里可以使用NSMutableSet来存储已经获取的随机出来的值,NSMutableSet的作用就是能保证这里存储的值不会出现重复。 3.根据NSMutableSet中已经存储的个数作为while循环的条件,来循环生成随机数。退出循环的条件就是NSMutableSet中的数量已经超过你想要生成的数量。
佳丽恐龙
2014-05-27
打赏
举报
回复
//35选7(随机生成7个不相同的数字35之内)要求尽量提高效率 这个例子的思路楼主可以看看 #include <stdio.h> #include <time.h> #include <stdlib.h> #define TOTAL 35 #define CHOOSE 7 int main() { int arr[TOTAL] = {0,}; int choose[CHOOSE] = {0, }; int i = 0; int randid = 0; for (i=0;i<TOTAL;i++) { arr[i] = i+1; } srand(time(NULL)); for (i=0;i<CHOOSE;i++) { randid = rand()%(TOTAL-i); choose[i] = arr[randid]; arr[randid] = arr[TOTAL-i-1]; } for(i=0;i<CHOOSE;i++) { printf("%2dt", choose[i]); } return 0; }
无条件为你
2014-05-27
打赏
举报
回复
楼上的方法是最简便的。但楼主可能是想要一个算法和或解决问题的思路。 例如一个数组ABC里面有100个元素,那么你随机产生0到99之间的一个int,然后用ABC[i]来取出,当取出一个后,你就把取出来的从数组里移除,然后再产生0到98个int,再取出ABC[i],再移除,再生成0到97个int,这样就保证了随机取出,并不重复。 如果你的数组里面本身已有重复元素,则先过滤一下。比如创建另外一个数组,把原来的数组一个加进去,加的时候先判断是否已经存在。例如用containsObject方法可以判断。
qq2511296
2014-05-26
打赏
举报
回复
NSMutableSet
javascript
随机
抽取
0-100之间不
重复
的10个数
主要为大家详细介绍了javascript
随机
抽取
0-100之间不
重复
的10个数,分享了两种简单办法,感兴趣的小伙伴们可以参考一下
洗牌算法
思路
讲解(程序员面试题)
洗牌算法是我在面试过程中遇到的一个问题,我事后做了整理,与大家分享下
思路
,这个文档是我自己
写
的,如要转载,请注明出处。联系方式在文档里有说明。有什么想法或
思路
希望与我一起交流。
随机
生成牌和洗牌问题
对于编
写
牌类游戏时用到的洗牌问题和
随机
生成相应牌的
方法
。
蓝桥杯竞赛试题
这是蓝桥杯预赛试题,加上自己整理的一份答案。
C语言实现文件内容按行
随机
排列的算法示例
主要介绍了C语言实现文件内容按行
随机
排列的算法,涉及C语言字符串、数组遍历与
随机
数相关算法实现技巧,需要的朋友可以参考下
iOS
29,046
社区成员
12,467
社区内容
发帖
与我相关
我的任务
iOS
主要讨论与iOS相关的软件和技术
复制链接
扫一扫
分享
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章