2016-07-19 14 views
1

배열에 중복 된 숫자 (두 번 이상 나타남)를 찾아야합니다. NSCountedSet을 사용하지 않고 어떻게 할 수 있습니까? 2 번 이상 나타나는 배열의 숫자 찾기

은 내가 한 솔루션입니다 : 이것은 스위프트를 사용하여 달성 할 수있는 솔루션입니다

NSCountedSet *countedSet = [NSCountedSet setWithArray:array]; 
__block NSUInteger totalNumberOfDuplicates = 0; 
[countedSet enumerateObjectsUsingBlock:^(id obj, BOOL *stop) 
{ 

    NSUInteger duplicateCountForObject = [countedSet countForObject:obj]; 

    if (duplicateCountForObject > 1) 

     totalNumberOfDuplicates += duplicateCountForObject; 

    NSLog(@"%@ appears %ld times", obj, duplicateCountForObject); 
}]; 

답변

1

,하지만 당신은이 결과를 달성하기 위해 어떤 언어를 사용할 수 있습니다

func checkDuplicatedNumbers() 
    { 
    let array = [1, 2, 3, 4, 0, 1, 5, 2, 1, 1, 1, 4] 

    var dictioanry = [Int: Int]() 

    for element in array 
    { 
     if let value = dictioanry[element] { 
     let newValue = value + 1 
     dictioanry[element] = newValue 
     } else { 
     dictioanry[element] = 1 
     } 
    } 

    for key in dictioanry.keys { 

     let count = dictioanry[key] 

     if (count > 1) { 
     print("Number \(key) repeats \(count) times") 
     } 
    } 
    }