社区
其它技术问题
帖子详情
如何从n个数中找出概率最大的一个?
sunny3106
2009-03-04 09:03:10
一个数组,n个数,如何从中挑选出出现概率最大的一个?
最大概率>50% 和 >10% 两种情况下。
我之能想到比较笨的方法,哪位高手给点指点?
...全文
403
14
打赏
收藏
如何从n个数中找出概率最大的一个?
一个数组,n个数,如何从中挑选出出现概率最大的一个? 最大概率>50% 和 >10% 两种情况下。 我之能想到比较笨的方法,哪位高手给点指点?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
陽洸膂珵
2009-06-01
打赏
举报
回复
帮顶!
xiaokunshuai
2009-03-23
打赏
举报
回复
每个元素设一个引用计数,每次判断时,对引用计数遍历就是了。
kostion
2009-03-11
打赏
举报
回复
i=0;j=0;
1,a[i]和a[i+1]比较,如果不等,i+=2,继续;如果相等a[j]=a[i];i+=2;j++;继续;直到所有数据比较完毕;
2,如果j==2或j==1,则a[0]为所求;
如果j>2,继续上面的操作
luxiaoxun
2009-03-11
打赏
举报
回复
[Quote=引用 4 楼 nineforever 的回复:]
概率大于50%时可以不用计数,时间O(n),空间O(1)
[/Quote]
和微软的发帖水王是不是一样的道理?
如果每次删除两个不同的元素(不管是否包含概率大于50%的),那么,在剩下的元素列表中,概率大于50%的出现的次数仍然超过总数的一半。
arong1234
2009-03-11
打赏
举报
回复
你这个优化有时还是必要的
[Quote=引用 9 楼 KevinYuen 的回复:]
引用 5 楼 oo 的回复:
大于50%可以这样:
i=0;j=0;
1,a[i]和a[i+1]比较,如果不等,i+=2,继续;如果相等a[j]=a[i];i+=2;j++;继续;直到所有数据比较完毕;
2,如果j==2或j==1,则a[0]为所求;
如果j>2,继续上面的操作(1)
那10%的呢?大概结果不只有一个两个,用遍历计数的方法能统一算法,在里面能做一些优化,比如给处理过的数量加个记录,如果处理过的数大于了总数,就退出,效率能高些,特别是重复数字…
[/Quote]
KevinYuen
2009-03-11
打赏
举报
回复
[Quote=引用 5 楼 oo 的回复:]
大于50%可以这样:
i=0;j=0;
1,a[i]和a[i+1]比较,如果不等,i+=2,继续;如果相等a[j]=a[i];i+=2;j++;继续;直到所有数据比较完毕;
2,如果j==2或j==1,则a[0]为所求;
如果j>2,继续上面的操作(1)
[/Quote]
那10%的呢?大概结果不只有一个两个,用遍历计数的方法能统一算法,在里面能做一些优化,比如给处理过的数量加个记录,如果处理过的数大于了总数,就退出,效率能高些,特别是重复数字越多的时候效率越高。
arong1234
2009-03-11
打赏
举报
回复
is it really better than counting the elements?
直接对元素计数还是应该比较好吧
[Quote=引用 5 楼 oo 的回复:]
大于50%可以这样:
i=0;j=0;
1,a[i]和a[i+1]比较,如果不等,i+=2,继续;如果相等a[j]=a[i];i+=2;j++;继续;直到所有数据比较完毕;
2,如果j==2或j==1,则a[0]为所求;
如果j>2,继续上面的操作(1)
[/Quote]
sunny3106
2009-03-11
打赏
举报
回复
是排序啦,拍完之后看中间那个,或者每10%的看,但是排序只能做到O(NlogN)
[Quote=引用 2 楼 fhtingtian 的回复:]
比较笨的办法是对数组里出现的每个元素计数吗
[/Quote]
猫已经找不回了
2009-03-05
打赏
举报
回复
[Quote=引用 5 楼 oo 的回复:]
大于50%可以这样:
i=0;j=0;
1,a[i]和a[i+1]比较,如果不等,i+=2,继续;如果相等a[j]=a[i];i+=2;j++;继续;直到所有数据比较完毕;
2,如果j==2或j==1,则a[0]为所求;
如果j>2,继续上面的操作(1)
[/Quote]
学习了..
oo
2009-03-05
打赏
举报
回复
大于50%可以这样:
i=0;j=0;
1,a[i]和a[i+1]比较,如果不等,i+=2,继续;如果相等a[j]=a[i];i+=2;j++;继续;直到所有数据比较完毕;
2,如果j==2或j==1,则a[0]为所求;
如果j>2,继续上面的操作(1)
nineforever
2009-03-05
打赏
举报
回复
概率大于50%时可以不用计数,时间O(n),空间O(1)
arong1234
2009-03-04
打赏
举报
回复
还有别得方法?
真得模拟取n次算概率?
[Quote=引用 2 楼 fhtingtian 的回复:]
比较笨的办法是对数组里出现的每个元素计数吗
[/Quote]
bfhtian
2009-03-04
打赏
举报
回复
比较笨的办法是对数组里出现的每个元素计数吗
arong1234
2009-03-04
打赏
举报
回复
不就是对数组中相同元素进行计数么?干吗换这么个怪名次出来
菜鸟学
概率
统计——
最大
后验
概率
(MAP)
本文介绍了
最大
似然估计和
最大
后验
概率
(MAP)的概念。
最大
似然估计寻找使样本产生
概率
最大
的参数,而MAP则在似然的基础上考虑了参数的先验
概率
,相当于规则化的
最大
似然估计。通过扔硬币的例子,展示了如何计算
最大
似然和MAP估计,并解释了先验知识如何影响估计结果。
先验
概率
、后验
概率
、全
概率
公式、贝叶斯公式,
最大
似然估计
博客介绍了
概率
论在机器学习
中
的基础概念,包括先验
概率
、后验
概率
、全
概率
公式、贝叶斯公式和
最大
似然估计。先验
概率
基于以往经验,后验
概率
是结果已知后修正的
概率
,全
概率
公式计算多方式达成目的的
概率
,贝叶斯公式可根据新信息修正
概率
,
最大
似然估计
找出
造成结果的
最大
可能原因。
最大
概率
法分词
最大
概率
法通过计算词串
概率
解决分词歧义问题,利用n元语法和对数转换处理
概率
极小值,实现汉语自动分词。尽管在此文
中
未进行系统评价,但通常评估指标包括准确率、召回率和F值。SIGHAN组织的国际汉语分词评测大赛是相关领域的权威评测平台。
华为OD机试【
最大
N
个数
与最小N
个数
的和】(java)(100分)
本文介绍了
一个
编程问题,要求在给定数组
中
找出
最大
N
个数
与最小N
个数
并计算它们的和,同时需确保数组元素不重复且
最大
值和最小值之间没有重叠。作者提供了排序和遍历的解题方法,并提醒注意华为OD机试
中
的代码查重问题。
随机在圆上生成n个点,这n个点在同一半圆的
概率
是多少?
这篇博客探讨了在圆周上随机分布n个点,所有点落入同一半圆的
概率
问题。通过程序模拟,作者观察到
概率
随n增大呈指数递减,并提出猜测:n / 2^(n-1)。尽管未能给出数学证明,但作者分享了原题作者的证明,并揭示了
一个
有趣的排序现象:
最大
值点与最小值点之差小于半圆周长与第n+1个点
概率
的关系。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章