Java如何编程获取一个数组的多数元素
1、实现数组的快速排序算法思路:数组排序后,位于数组中间的元素一定是多数元素。图1示,快速排序主方法图2示,快速排序核心的分区函数
2、主方法中编写运行测试代码图示,主方法中构建多个测试用例,调用方法获取多数元素,并打印到控制台
3、算法复杂度分析,并在平台提交算法该算法复杂度等同于快速排序为 O(nlogn) ,平台提交算法,图示,测试通过,但时间复杂度较差
4、实现抵消算法,改进时间复杂度抵消算法,即声明一个计数器,然后遍挽翔庠钒历对比数组元素,如果相同,则计算器加1,如果不同,则计算器减-1,当计数器减为0骀旬沃啭时,将基准数据替换为当前元素,因为多数元素占数组一半以上,所以最终剩下的基准数据就是多数元素。
5、测试抵消算法图示,主方法中构建测试用例,运行主方法,观察控制台的输出,符合预期
6、时间复杂度分析,并在平台提交算法抵消算法只遍历一遍数组,因此时间复杂度为 O(艘绒庳焰n), 平台提交算法,图示,测试通过,并且时间复杂度提升很多。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:93
阅读量:56
阅读量:34
阅读量:56
阅读量:65