社区
数据结构与算法
帖子详情
一个数组,随机抽取的两个数,请问是哪两个?
youzelin
2010-11-03 05:04:49
题目:有 100 个数,值为 1 - 100,现在随机抽取其中
两个
,将剩余的数次序打乱放入数组 a 中。
问题:请问抽取的是哪两个数?
要求:1. 数组 a 只能遍历一次。
2. 自定义的变量个数不能超过 5 个。
3. 不能另外自定义数组变量。(即:整个算法中只有一个数组 a)
请问这个如何解决?谢谢
...全文
455
16
打赏
收藏
一个数组,随机抽取的两个数,请问是哪两个?
题目:有 100 个数,值为 1 - 100,现在随机抽取其中两个,将剩余的数次序打乱放入数组 a 中。 问题:请问抽取的是哪两个数? 要求:1. 数组 a 只能遍历一次。 2. 自定义的变量个数不能超过 5 个。 3. 不能另外自定义数组变量。(即:整个算法中只有一个数组 a) 请问这个如何解决?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhouzhanglong
2010-11-04
打赏
举报
回复
位图与求平方和,都不错
zhangyilina1987
2010-11-04
打赏
举报
回复
恩,都很好,
showjim
2010-11-04
打赏
举报
回复
[Quote=引用 11 楼 michael122 的回复:]
就是拿100个bit出来(4个int就够了),每个bit对应1-100中的数i是否在数组中,存在就设为1,不存在就是0.这样扫描一遍就可以把这100个bit设置完,最后看看哪两个数对应的bit是0就行了
当然,如果这样算扫描两遍的话,就用3楼的方法吧
[/Quote]
第二次不用扫描,用位运算与模运算可以找到那两个1的位置。
showjim
2010-11-04
打赏
举报
回复
[Quote=引用 3 楼 litaoye 的回复:]
求和与平方和,然后解方程就可以
[/Quote]
开平方用快速算法或查表还可以,否则位图效率高
牛海朋
2010-11-04
打赏
举报
回复
你看这样行吗
double s=100+99;
double m=100*99;
for(int i=0;i<98;i++){
s=s+i+1-a[i];//两数之和
m=m*(i+1)/a[i];//两数之积
}
//求的两个数
int n1=(int) ((Math.sqrt(s*s-4*m)+s)/2);
int n2=(int) (s-n1);
michael122
2010-11-04
打赏
举报
回复
就是拿100个bit出来(4个int就够了),每个bit对应1-100中的数i是否在数组中,存在就设为1,不存在就是0.这样扫描一遍就可以把这100个bit设置完,最后看看哪两个数对应的bit是0就行了
当然,如果这样算扫描两遍的话,就用3楼的方法吧
[Quote=引用 9 楼 youzelin 的回复:]
引用 1 楼 michael122 的回复:
才100个数,用位图就搞定了
一个int 32位,4个int变量就够了
michael122, 不要说一半可以吗?如果有位图算法,能否说说,或者给个和此问题相关的位图算法链接也行!谢谢!
[/Quote]
youzelin
2010-11-04
打赏
举报
回复
[Quote=引用 7 楼 litaoye 的回复:]
平方和公式(2n+1)*(n+1)*n/6,100个数不会溢出
引用 6 楼 youzelin 的回复:
引用 3 楼 litaoye 的回复:
求和与平方和,然后解方程就可以
1^2 + 2^2 + 3^2 + ...... + n^2 平方和怎么求?求和公式是什么?循环平方累加不会溢出吗?
[/Quote]
多谢!
youzelin
2010-11-04
打赏
举报
回复
[Quote=引用 1 楼 michael122 的回复:]
才100个数,用位图就搞定了
一个int 32位,4个int变量就够了
[/Quote]
michael122, 不要说一半可以吗?如果有位图算法,能否说说,或者给个和此问题相关的位图算法链接也行!谢谢!
houjin_cn
2010-11-03
打赏
举报
回复
[Quote=引用 6 楼 youzelin 的回复:]
1^2 + 2^2 + 3^2 + ...... + n^2 平方和怎么求?求和公式是什么?循环平方累加不会溢出吗?
[/Quote]
1*1 + 2*2 + 3*3 + 4*4 + .....100*100 总值不超过 100*100*100,不会溢出
绿色夹克衫
2010-11-03
打赏
举报
回复
平方和公式(2n+1)*(n+1)*n/6,100个数不会溢出
[Quote=引用 6 楼 youzelin 的回复:]
引用 3 楼 litaoye 的回复:
求和与平方和,然后解方程就可以
1^2 + 2^2 + 3^2 + ...... + n^2 平方和怎么求?求和公式是什么?循环平方累加不会溢出吗?
[/Quote]
youzelin
2010-11-03
打赏
举报
回复
[Quote=引用 3 楼 litaoye 的回复:]
求和与平方和,然后解方程就可以
[/Quote]
1^2 + 2^2 + 3^2 + ...... + n^2 平方和怎么求?求和公式是什么?循环平方累加不会溢出吗?
youzelin
2010-11-03
打赏
举报
回复
[Quote=引用 1 楼 michael122 的回复:]
才100个数,用位图就搞定了
一个int 32位,4个int变量就够了
[/Quote]
请问位图这个方法怎么实现?能不能说一下?谢谢
houjin_cn
2010-11-03
打赏
举报
回复
[Quote=引用 3 楼 litaoye 的回复:]
求和与平方和,然后解方程就可以
[/Quote]
Very Good
绿色夹克衫
2010-11-03
打赏
举报
回复
求和与平方和,然后解方程就可以
houjin_cn
2010-11-03
打赏
举报
回复
1)先数组求和,得到那两个数的和;
2)循环搜索出其中一个数;
3)用和减去这个数得到另外一个数;
没有使用新数组,使用的变量: 两个循环下标 + 一个总和 + 两个结果 = 5个变量
michael122
2010-11-03
打赏
举报
回复
才100个数,用位图就搞定了
一个int 32位,4个int变量就够了
有
一个
数组
里面有1至100
个数
,
随机
抽取
99
个数
,怎么获取没抽到的那
个数
这篇博客介绍了当从包含1至100的
数组
中
随机
抽取
99
个数
时,如何找到未被
抽取
的那
个数
字。作者提供了一种使用
两
个
数组
并进行特定操作的方法,还提到了通过计算总和的差值来确定缺失数字的另一种思路。
c# 从一组数中
随机
抽取
一定
个数
_C/C++/C#从
数组
中
随机
抽取
一
个数
(要源码/重奖)...
博客展示了在Borland C++平台运行的代码。包含从
数组
中
随机
抽取
一组六
个数
,循环
抽取
5次并将结果保存到RADOM.TXT文件;还展示了从SOURCE.TXT文件读取10行6列
数组
的代码,实现了
数组
随机
数
抽取
与文件读写功能。
js 从
数组
中
抽取
指定
个数
随机
值
这个博客介绍了如何实现
一个
名为`getRandomArrayElements`的函数,用于从给定
数组
中
随机
抽取
指定数量的元素。通过使用数学
随机
函数和
数组
的切片操作,该算法能够确保
抽取
过程的
随机
性。这个方法对于数据处理、测试用例生成或者模拟场景等场景非常有用。
c# 从一组数中
随机
抽取
一定
个数
_C/C++/C#从
数组
中
随机
抽取
一
个数
?
博客介绍了计算机只能产生伪
随机
数,阐述了
随机
数由
随机
种子按一定计算方法得出。以C程序为例,说明
随机
种子从计算机主板定时/计数器在内存的记数值获取,还指出相同平台下,固定
随机
种子会产生相同
随机
数。
java
随机
抽
两
个
数_java 从
数组
中
随机
抽取
两
个
不相同的字符组合
本文介绍了
一个
简单的Java程序,用于从给定的字符集中
随机
生成字符串组合,并确保所有可能的组合都被涵盖。通过使用HashSet来避免重复,程序能够处理多达40,320种不同的组合。
数据结构与算法
33,026
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章