Algorithm(SWIFT)-2つ抽出して追加

6639 ワード

問題の説明


整数配列番号.numbersから異なるインデックスの2つの数を抽出し、作成できるすべての数を昇順に配列に入れ、solution関数の戻りを完了してください.

せいげんじょうけん

  • numbersの長さは2または100より大きい.
  • numbersのすべての数字は0または100以下です.
  • I/O例


    numbersresult[2,1,3,4,1][2,3,4,5,6,7][5,0,2,7][2,5,7,9,12]

    I/O例説明


    I/O例#1
  • 2=1+1.(1この数字には2つあります)
  • 3=2+1.
  • 4=1+3.
  • 5=1+4=2+3.
  • 6=2+4.
  • 7=3+4.
  • したがって、[2,3,4,5,6,7]に戻る必要があります.I/O例#2
  • 2=0+2.
  • 5=5+0.
  • 7=0+7=5+2.
  • 9=2+7.
  • 12=5+7.
  • したがって、[2,5,7,9,12]に戻る必要があります.

    に答える


    #1
    import Foundation
    
    func solution(_ numbers:[Int]) -> [Int] {
        
        var arr = [Int]()
    
        for i in 0 ..< numbers.count-1 {
            for j in i + 1 ..< numbers.count {
                
                if !arr.contains(numbers[i] + numbers[j]) {
                    arr.append(numbers[i] + numbers[j])
                }
            }
        }
      
        return arr.sorted()
    }
    採点結果

    #2
    import Foundation
    
    func solution(_ numbers:[Int]) -> [Int] {
        
        var st = Set<Int>()
        
        for i in 0 ..< numbers.count - 1 {
            for j in i + 1 ..< numbers.count {
                st.insert(numbers[i] + numbers[j])
            }
        }
        
        return st.sorted()
    }
    採点結果