Gegeben ein Array von ganzen Zahlen num und eine ganze Zahl k. Finde heraus, ob es im Array zwei verschiedene Indizes i und j gibt, so dass nums [i] = nums [j] und der Unterschied zwischen i und j höchstens k ist.Algorithmus: Überprüfung auf Duplizierung in Swift-Array
Es soll mir wahr geben, aber es gibt mir falsch.
Jede Hilfe, ich schätze es. Ich danke dir sehr.
class Solution
{
func containsNearbyDuplicate (nums: [Int], _ k: Int) -> Bool
{
var dict = [Int:Int]()
for i in 0..<nums.count
{
if dict[nums[i]] != nil
{
if dict.values.contains(nums[i]) && (i - dict[nums[i]]! <= k)
{
return true
}
else
{
dict[i] = nums[i]
}
}
}
return false
}
}
let test1 = Solution()
//var haha = [1,2,1,5,6,7,6,8,7,5]
//var haha = [1]
//var haha = [1,2]
//var haha = [1,2,3,5,6,8]
var haha = [-1,-1]
var result = test1.containsNearbyDuplicate(haha,1)
print(result)
Vielen Dank! Das funktioniert perfekt! Bin dankbar. – Tang
Ich habe deine Antwort an andere Community weitergegeben. Hoffnung kann jemand anderem helfen. Nochmals vielen Dank für Ihre Hilfe! – Tang
Kein Problem. Bitte :) – iyuna