LeetCoder! - TwoSum(Swift)
世界で有名な競技プログラミングのサイトを使ってみました。
LeetCoderという日本ではatcoderという競技プログラミングをやっているサイトです。
早速やってみます。"TwoSum"という問題をやってみます。
サイトを開くとこんなんが出てきます。画面としては赤四角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みたいです。
この記事が気に入ったらサポートをしてみませんか?