求解答

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

相关推荐

06-18 15:03
门头沟学院 Java
至少实习看起来比去年好?问了下群里的同学和身边的同学,人均有offer。有的还有好几个大厂offer
菜鸟1973:上一年暑期也是人均大厂实习offer,结果秋招跟不招人一样,大部分都转正了
点赞 评论 收藏
分享
06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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