求解答

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-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
渐好:软光栅真的写明白了吗,既然是软渲那技术栈不应该使用OpenGL,光追和bvh既不算什么高级渲染技术更不应该属于软渲的内容,git那个项目没啥用,建议把前两个项目重新组织一下语言,比如软渲染那个项目 冯着色和msaa、贴图这几项分开写,写的到位点,如果你还学过光追那就单独写出来,如果没把握考官问你答不上来就别写给自己找麻烦,在技术栈那一栏简单提一下自己学过就行,这样杂的放在一起不太严谨,个人愚见.
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务