求个算法

skineffect 2008-04-05 06:09:32
碰到一题大意是这样的,输入n个浮点型的基数Ni,比如500.0,1500.0,2000.0,2100.0,1800.0;给出一个浮点型范围值m比如200.0:
可以Ni(+/-)m的范围内取值,比如300~800,1300~1700,1800~2200,1900~2300,1600~2000这些值。
要求输出一个值,这个值表示无论取什么值最多被覆盖的次数。比如1900这个值就被基数为2000,2100,1800的范围取值覆盖了三次,而且无论取什么值,他的被覆盖数都不会超过3次,就输出3。
因为是浮点数类型,所以不能用一个数组表示,没有思路。。。哪位大牛能给个算法,谢了。
...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
skineffect 2008-04-06
  • 打赏
  • 举报
回复
把Ni由小到大排列存放在一个数组中,然后拿出一个数来,比如N3,比较N3+d和Ni(i>3)-d的大小,看有几个Ni(i>3)-d<N3+d,记下数为m3,存放在另一个数组中,这样从遍历完存放Ni的数组后,另一个数组也存放了同样多的数,接下来要做的事就是选出一个最大的就可以了。
oo 2008-04-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 skineffect 的回复:]
已解决了,开始想得太复杂了,给我自己加分了:-)
[/Quote]
那把算法贴出来吧
skineffect 2008-04-05
  • 打赏
  • 举报
回复
已解决了,开始想得太复杂了,给我自己加分了:-)
wanghao111 2008-04-05
  • 打赏
  • 举报
回复
交流群 C++ java 36414176
skineffect 2008-04-05
  • 打赏
  • 举报
回复
输入是N个基值,和一个给定的范围值。你可以想象这是N个电器可以工作的频率范围。输出一个值,表示最多可以有几个电器可以在同一个频率下工作。
arong1234 2008-04-05
  • 打赏
  • 举报
回复
输入是什么,输出是什么,随机变化的是什么,说清楚这个就没难点了
arong1234 2008-04-05
  • 打赏
  • 举报
回复
所谓的无论取什么值,到底是什么东西在变化?基?上下波动的范围?还是其他?
我想这个题目的难点在于描述的不清楚或者不准确

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧