求解答

200个数存在数组里,数字大小在1-100以内,如何找到出现频率最高的一个,不能用辅助内存,求各位大佬指点!!!
全部评论
水王PK题目
点赞 回复 分享
发布于 2017-09-26 22:58
摩尔投票算法
点赞 回复 分享
发布于 2017-09-26 22:21
不用辅助空间    原数组有200个空间可以用  第0-99位 用来计数1-100出现的次数 方法如下   由于数字不超过100,所以当出现一个1时,第0位的数字加1000  出现第二个1时再加1000 依次类推 最后比较第0-99位除以1000后的最大值即可
点赞 回复 分享
发布于 2017-09-26 22:16
打擂吧好像
点赞 回复 分享
发布于 2017-09-26 21:48
不用额外空间,那就只好先排序,然后再统计
点赞 回复 分享
发布于 2017-09-26 21:47
刚才是比较low的方法,还有就是遍历一遍的方法,o(n)的方法
点赞 回复 分享
发布于 2017-09-26 21:43
如果不能用辅助空间,可以先排序,然后用一个变量统计当前最大出现次数,如果后面出现次数还大于这个,就更新这个数
点赞 回复 分享
发布于 2017-09-26 21:38
上面回答的都是没有读懂剑指offer的人,只看过题,没有领会思想
点赞 回复 分享
发布于 2017-09-26 21:37
剑指offer题
点赞 回复 分享
发布于 2017-09-26 21:34

相关推荐

点赞 评论 收藏
分享
05-12 22:16
已编辑
北京邮电大学 研发工程师
牛客302360988号:0offer+1 滴滴都不给我面 佬没投鹅吗,鹅应该很喜欢北邮吧
投递美团等公司10个岗位
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
06-19 14:58
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务