給定 n = 5,並且 version = 4 是第乙個錯誤的版本。
呼叫 isbadversion(3) -> false
呼叫 isbadversion(5) -> true
呼叫 isbadversion(4) -> true
所以,4 是第乙個錯誤的版本。
# the isbadversion api is already defined for you.
# @param version, an integer
# @return a bool
# def isbadversion(version):
class
solution
:def
firstbadversion
(self, n)
:"""
:type n: int
:rtype: int
"""hi = n
lo =
1# 二分法
# 時間複雜度o(logn),空間複雜度o(1)
while lo <= hi:
corr =
(hi + lo)//2
if isbadversion(corr)
: hi = corr -
1else
: lo = corr +
1return lo
# 二分查詢模板
# 典型二分查詢模板,很多題目都可由其變換而來~
defbinary_search
(list
,item)
: low =
0 high =
len(
list)-
1while low <= high:
mid =
int(
(low + high)/2
) guess =
list
[mid]
if guess == item:
return mid
if guess > item:
high = mid -
1else
: low = mid +1
my_list =[0
,1,3
,6,9
]print
(binary_search(my_list,3)
)
LeetCode刷題筆記 41 缺失的第乙個正數
給定乙個未排序的整數陣列,找出其中沒有出現的最小的正整數。示例 輸入 3,4,1,1 輸出 2 sc是官方解答,和sdc思路有不同的地方,sc2是sdc的另一種寫法 困難的題的確有很多不同的思路,不像中等題有點肌肉記憶的感覺 桶排序首次缺失的正數一定小於或等於 n 1 sdc把大於陣列長度n的數改為...
1 第乙個網頁
emmet外掛程式 自動生成html 片段 tab鍵 在html中,注釋如下書寫 其他叫法 標籤 標記 href b站a 整體 element 元素 元素 起始標記 begin tag 結束標記 end tag 元素內容 元素屬性 注 起始標記與結束標記相同,且結束標記只比起始標記多乙個 起始標記名...
lintcode刷題 丟失的第乙個正整數
原題如下 丟失的第乙個正整數 給出乙個無序的正數陣列,找出其中沒有出現的最小正整數。您在真實的面試中是否遇到過這個題?yes 樣例如果給出 1,2,0 return3 如果給出 3,4,1,1 return2 做題思路 1 這題並不難,主要是要考慮到多種不同的情況,題目給出的陣列應該是可以有重複數字...