LeetCode169. 求众数

阳光穿透心脏的1/2处 2022-05-23 02:15 279阅读 0赞

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在众数。

示例 1:

  1. 输入: [3,2,3]
  2. 输出: 3

示例 2:

  1. 输入: [2,2,1,1,1,2,2]
  2. 输出: 2

思路:因为众数是指数组中出现次数大于数组数量一半的元素,可以先将数组按升序顺序排序,找出数组中中间元素即可。

  1. class Solution {
  2. public int majorityElement(int[] nums) {
  3. int i,j;
  4. for(i=0;i<nums.length;i++) {
  5. for(j=0;j<nums.length-i-1;j++) {
  6. if(nums[j]>nums[j+1]) {
  7. int temp=nums[j];
  8. nums[j]=nums[j+1];
  9. nums[j+1]=temp;
  10. }
  11. }
  12. }
  13. return nums[nums.length/2];
  14. }
  15. }

发表评论

表情:
评论列表 (有 0 条评论,279人围观)

还没有评论,来说两句吧...

相关阅读