首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
【单选】欲找到100个数字中的最大值和最小值所需要的最少比较
[不定项选择题]
【单选】
欲找到100个数字中的最大值和最小值所需要的最少比较次数为
148
147
146
140
查看正确选项
添加笔记
求解答(3)
邀请回答
收藏(116)
分享
纠错
3个回答
添加回答
1
你大锦哥
取刚好大小排序为50的一个数,让其他99个数与其比较 有 49个数小于这个数 50个数大于这个数 顺便比得最大值 需要99次 再比较49次 得最小值 共148次
发表于 2018-09-05 18:23:58
回复(0)
25
Love鱼小鱼
将100个数字随意分成50组进行比较,比较50次后得到两个大组,优胜组和失败组,每组50个数字,在优胜组中比较49次得到最大值,在失败组中比较49次得到最小值,一共需要比较:50 + 49 + 49 = 148(次)。
编辑于 2020-04-30 11:32:56
回复(0)
9
恋晨曦
我们知道,在一个容量为n的数据集合中寻找一个最大数,不管用什么样的比较算法,至少要比较n-1次,就算是用竞标赛排序也得比较n-1次,否则你找到的就不能保证是最大的数。那么,在一个容量为n的数据集合中同时寻找最大数和最小数的最小比较次数是多少呢? 从一个容量为n的数据集合中同时找到最大数和最小数的最优方法是:首先让所有的元素参与两两比较,这样总共比较了n/2次,最大数肯定在胜者组中,最小数肯定在败者组中;然后从容量为n/2的胜者组中找到最大的数,最少要比较n/2 - 1次;同理,从容量为n/2的败者组中找到最小的数,最少要比较n/2 - 1次。所以总共需要比较(3n/2) - 2 次。以上假设n为偶数。奇数同理。
发表于 2018-09-05 21:36:14
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
PHP工程师
行业常识
滴滴
2018
行业常识
Java工程师
上传者:
小小
难度:
3条回答
116收藏
2453浏览
热门推荐
相关试题
简要说明视频秀场与传统的视频网站的区别。
产品
运营
行业常识
行业常识
评论
(81)
在“微信”中,“朋友圈”功能对于微...
产品
运营
行业常识
行业常识
评论
(90)
你如何理解“互联网思维”?
产品
运营
行业常识
行业常识
评论
(320)
属于组合逻辑电路是()。
数字电路
评论
(1)
如果通过这次面试我们单位录用了你,...
岗位认知
自我认知
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题