반응형

오늘 풀 문제는 Contains Duplicate III라는 문제이며

링크는 https://leetcode.com/problems/contains-duplicate-iii/입니다

 

이 문제는 임의의 인덱스 i,j의 절댓값의 차이가 최대 k만큼 차이나고

그 때의 nums[i]와 nums[j]의 값의 절댓값 차이가 최대 t만큼 차이가 나는 쌍이 있는지 체크하는 문제였습니다

저는 일단 최적화 알고리즘이 떠오르지 않아서 O(N^2)로 일일히 다 찾아보았는데 풀렸습니다

func containsNearbyAlmostDuplicate(nums []int, k int, t int) bool {
    size := len(nums)
    i := 0
    for i < size  {
        n := 1
        for n <= k{
            if i+n >= size{
                break
            }
            if int(math.Abs(float64(nums[i+n] - nums[i]))) <= t{
                return true
            }
            n++
        }
        i++
    }
    return false
    
}

읽어주셔서 감사합니다

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기