見出し画像

LeetCoder! - TwoSum(Swift)

世界で有名な競技プログラミングのサイトを使ってみました。

LeetCoderという日本ではatcoderという競技プログラミングをやっているサイトです。

早速やってみます。"TwoSum"という問題をやってみます。

画像1

サイトを開くとこんなんが出てきます。画面としては赤四角1,2がありますのでその説明を、

1 問題の例示してあります。配列[2,7,11,5]があって、ターゲットとして"9"が指定してあります。
配列の数字の2つを足して"9"にするインデックスを求めるように指示してあります。

2  実際のコードを書きます。言語は自分の得意なものでかけるようになっています。今回はSwiftで書きたいと思います。

class Solution {
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
       var dict = [Int: Int]()
       for index in 0..<nums.count {
           let value = nums[index]
           let remainder = target - value
           if let anotherIndex = dict[remainder] {
               return [anotherIndex, index]
           }
           dict[value] = index
       }
       return [-1, -1]
   }

}

とすると、実行することができ、この関数が有効であることが証明できます。

このようにヒントを解く感じでやればOKみたいです。

この記事が気に入ったらサポートをしてみませんか?