"Contains Duplicate III" medium task No 220 accepted solution
This commit is contained in:
22
220-contains-duplicate-3.go
Normal file
22
220-contains-duplicate-3.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package main
|
||||
|
||||
import "math"
|
||||
|
||||
func ContainsNearbyAlmostDuplicate(nums []int, k int, t int) bool {
|
||||
if k < 1 {
|
||||
return false
|
||||
}
|
||||
|
||||
for wSz := 1; wSz <= k; wSz++ {
|
||||
ws := 0
|
||||
for we := ws + wSz; we < len(nums); we++ {
|
||||
if int(math.Abs(float64(nums[ws]-nums[we]))) <= t {
|
||||
return true
|
||||
}
|
||||
ws++
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
12
220-contains-duplicate-3_test.go
Normal file
12
220-contains-duplicate-3_test.go
Normal file
@@ -0,0 +1,12 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestContainsNearbyAlmostDuplicate(t *testing.T) {
|
||||
assert.False(t, ContainsNearbyAlmostDuplicate([]int{1, 5, 9, 1, 5, 9}, 2, 3))
|
||||
assert.True(t, ContainsNearbyAlmostDuplicate([]int{1, 2, 3, 1}, 3, 0))
|
||||
assert.True(t, ContainsNearbyAlmostDuplicate([]int{1, 0, 1, 1}, 1, 2))
|
||||
}
|
||||
Reference in New Issue
Block a user