[LeetCode] 1287. Element Appearing More Than 25% In Sorted Array

Chobby·2025년 8월 5일
1

LeetCode

목록 보기
488/582

😎풀이

  1. arr의 길이 측정
  2. 길이를 4로 나누어 25%에 해당하는 빈도 측정
  3. arr 순회
    3-1. 이전 요소와 현재 요소가 같다면 빈도를 더하며 25%의 빈도를 넘어섰는지 확인
    3-2. 아니라면 빈도 초기화
  4. 발견되지 않았다면 마지막 요소가 대상 요소소
function findSpecialInteger(arr: number[]): number {
    const len = arr.length
    const target = len / 4
    let curFrequent = 1
    for(let i = 1; i < len; i++) {
        if(arr[i] === arr[i - 1]) {
            curFrequent++
            if(curFrequent > target) return arr[i]
            continue
        }
        curFrequent = 1
    }
    return arr.at(-1)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글