一个遇到的算法题,求帮组

xychencs 2018-03-20 09:19:33
小红去参观跑步比赛,场上一共n个人在赛跑,所有人的速度都不一样。由于规则的原因,第i个人在第i米起跑。如果第i个人被别人超过的时候,第i个人就被淘汰。假设跑无限长时间,最开始n个人站位从n个人的所有排列中等概率选出一种,那么留在场上人的数量的期望是多少?
...全文
536 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xychencs 2018-03-20
  • 打赏
  • 举报
回复


题目是这样的呢。
maradona1984 2018-03-20
  • 打赏
  • 举报
回复
既然人家要等概率选中一个,那直接把原始数组随机打乱,这样就不要全排列了,审题问题
xychencs 2018-03-20
  • 打赏
  • 举报
回复
引用 1 楼 maradona1984 的回复:
简单设定n个人,速度是1-n分配,然后全排列,算出每种组合留下的人 简化成一个集合[1,2,3...n],然后全排列 全排列算法http://blog.csdn.net/qiqi123i/article/details/63685857 拿到全排列集合,对每个集合进行如下逻辑,循环集合,取当前元素,把之后小于他的元素删除,循环到最后剩下的就是期望的数量 解释:处于后方的人会把速度比他慢的人都淘汰
我也是这么想的,不过这样的算法,需要全排列,还需要计算n!,空间和时间复杂度很大,答案没通过。
maradona1984 2018-03-20
  • 打赏
  • 举报
回复
简单设定n个人,速度是1-n分配,然后全排列,算出每种组合留下的人 简化成一个集合[1,2,3...n],然后全排列 全排列算法http://blog.csdn.net/qiqi123i/article/details/63685857 拿到全排列集合,对每个集合进行如下逻辑,循环集合,取当前元素,把之后小于他的元素删除,循环到最后剩下的就是期望的数量 解释:处于后方的人会把速度比他慢的人都淘汰

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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