Java如何编程获取一个数组的多数元素

 时间:2024-10-28 22:18:12

1、实现数组的快速排序算法思路:数组排序后,位于数组中间的元素一定是多数元素。图1示,快速排序主方法图2示,快速排序核心的分区函数

Java如何编程获取一个数组的多数元素Java如何编程获取一个数组的多数元素

2、主方法中编写运行测试代码图示,主方法中构建多个测试用例,调用方法获取多数元素,并打印到控制台

Java如何编程获取一个数组的多数元素

3、算法复杂度分析,并在平台提交算法该算法复杂度等同于快速排序为 O(nlogn) ,平台提交算法,图示,测试通过,但时间复杂度较差

Java如何编程获取一个数组的多数元素

4、实现抵消算法,改进时间复杂度抵消算法,即声明一个计数器,然后遍历对比数组元素,如果相同,则计算器加1,如果不同,则计算器减-1,当计数器减为0时,将基准数据替换为当前元素,因为多数元素占数组一半以上,所以最终剩下的基准数据就是多数元素。

Java如何编程获取一个数组的多数元素

5、测试抵消算法图示,主方法中构建测试用例,运行主方法,观察控制台的输出,符合预期

Java如何编程获取一个数组的多数元素

6、时间复杂度分析,并在平台提交算法抵消算法只遍历一遍数组,因此时间复杂度为 O(n), 平台提交算法,图示,测试通过,并且时间复杂度提升很多。

Java如何编程获取一个数组的多数元素
  • win10怎么允许配置的文件服务器进行文件同步?
  • VS2013控制台应用编译窗口一闪而过
  • Excel正则表达式,提取非零的正整数的操作
  • 炉石传说砰砰实验室斩杀攻略
  • 九阴真经天隐谷攻略
  • 热门搜索
    戊戌怎么读 牛尾骨汤的做法 茄子的做法 舒芙蕾的做法 蒸茄子的家常做法 芋圆做法 青口贝的做法 纸花的做法 微信怎么恢复聊天记录 郝怎么读