😎풀이

  1. 0번째 인덱스부터 해당 인덱스의 정수를 다음 탐색 인덱스로 지정하며 순회
  2. 이미 탐색된 요소가 중복탐색된 경우 현재까지의 중첩수로 최대 중첩 갱신
  3. 탐색하며 중첩된 최대 수 반환3. 탐색하며 중첩된 최대 수 반환
function arrayNesting(nums: number[]): number {
    let max = 0
    const visited = new Set<number>()
    for(let i = 0; i < nums.length; i++) {
        let idx = i
        let nest = 0
        while(!visited.has(idx)) {
            visited.add(idx)
            idx = nums[idx]
            nest++
        }
        max = Math.max(max, nest)
    }
    return max
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글