
g0001_0100.s0035_search_insert_position.Solution.ex Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-all Show documentation
Show all versions of leetcode-in-all Show documentation
104 LeetCode algorithm problem solutions
# #Easy #Top_100_Liked_Questions #Array #Binary_Search #Algorithm_I_Day_1_Binary_Search
# #Binary_Search_I_Day_2 #Big_O_Time_O(log_n)_Space_O(1)
# #2024_08_02_Time_228_ms_(100.00%)_Space_76.9_MB_(40.00%)
defmodule Solution do
@spec search_insert(nums :: [integer], target :: integer) :: integer
def search_insert(nums, target) do
search_insert(nums, target, 0, length(nums) - 1)
end
defp search_insert(nums, target, lo, hi) when lo <= hi do
mid = div(lo + hi, 2)
cond do
target == Enum.at(nums, mid) ->
mid
target < Enum.at(nums, mid) ->
search_insert(nums, target, lo, mid - 1)
target > Enum.at(nums, mid) ->
search_insert(nums, target, mid + 1, hi)
end
end
defp search_insert(_, _, lo, _) do
lo
end
end
© 2015 - 2025 Weber Informatics LLC | Privacy Policy