LeetCode 검이 Offer 39를 가리킵니다. 배열에서 절반 이상 나타나는 숫자(java 구현)

검은 제안 39를 가리킵니다. 배열에서 절반 이상 나타나는 숫자

배열 길이의 절반 이상으로 나타나는 숫자가 배열에 있습니다. 이 숫자를 찾으세요.

배열은 비어 있지 않으며 주어진 배열에는 항상 대부분의 요소가 있다고 가정할 수 있습니다.

예시 1:

输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2

한계:

1 <= 数组长度 <= 50000

문제 해결 아이디어:

  • 질문은 절반 이상 나타나는 무언가가 있어야 한다고 말합니다.
  • 그런 다음 이 배열을 먼저 정렬하세요.
  • 가운데 숫자가 모드 입니다
  • 그냥 첨자의 요소를 반환하세요.
class Solution {
    
    
    public int majorityElement(int[] nums) {
    
    
        Arrays.sort(nums);//题目说必然有一个数超过一半
        return nums[nums.length/2];//所以排序过后,中间那个数必然是那个众数
    }
}

Guess you like

Origin blog.csdn.net/qq_44243059/article/details/125898451