LeetCodeのEasy問題を解いて勉強するSwift Binary Search編
LeetCodeのEasy問題を解いて勉強するSwift Binary Search編
新しくSwiftを触ることになりそうなので
ひとまずコードを書いてみることにする。
LeetCodeのEasy問題は比較的解き方を知っている(はず)なので、Python3で書いていた部分をどのような書き方に直すのかを色々思い出しつつ試行錯誤していく。
書いている人のレベル感
Swiftビギナー。基本的な文法すらあやふやなので始めて数日レベルと言っても過言ではない。
LeetCode
お題が与えられ、その内容に合わせてコードを書き、提出して合ってるかどうかを確認できる。
問題はソフトウェアエンジニアのコーディング面接で出されたお題をそのまま引用していることがほとんど。
前回
LeetCodeのEasy問題を解いて勉強するSwift Valid Parentheses編
Binary Search
Binary Search
与えられた配列(数値が入っている)にtargetが存在する場合はその数値が存在するインデックスを、存在しない場合には-1
を返す関数を書く。
class Solution {
func search(_ nums: [Int], _ target: Int) -> Int {
var left = 0
var right = nums.count-1
while left <= right{
let mid = left + (right-left)/2
if nums[mid] == target{
return mid
}else if nums[mid] < target{
left = mid+1
}else{
right = mid-1
}
}
return -1
}
}
学べたこと
正直なかった。
変数の宣言とwhile文の書き方とif-else if-else文が書ければ問題なく書ける。
コメント
コメントを投稿