반응형
오늘 풀 문제는 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
}
읽어주셔서 감사합니다
'Language > Go' 카테고리의 다른 글
[Golang으로 도전하는 Leetcode] Partition Labels (0) | 2020.09.05 |
---|---|
[Golang으로 도전하는 Leetcode] Repeated Substring Pattern (0) | 2020.09.04 |
[Golang으로 도전하는 Leetcode] Largest Time for Given Digits (0) | 2020.09.02 |
[Golang으로 도전하는 Leetcode] Implement Rand10() Using Rand7()Solution (0) | 2020.08.30 |
[Golang으로 도전하는 Leetcode] Minimum Cost For Tickets (0) | 2020.08.28 |