//二分查詢基本實現
public
intbinarysearch
(int
nums,
int key)
return-1
;}/** * 變種二分查詢,找出陣列中key重複元素最左位置(注意邊界)
*/public
intbinarysearch
(int
nums,
int key)
if(nums[l]
==key)
return l;
else
return-1
;}//求開方 69. sqrt(x) (easy)
public
intmysqrt
(int x)
return h;
}//給定乙個有序的字元陣列 letters 和乙個字元 target,要求找出 letters 中大於 target 的最小字元,如果找不到就返回第 1 個字元
//744. find smallest letter greater than target (easy)
public
char
nextgreatestletter
(char
letters,
char target)
return l: letters[0]
;}//以o(logn)時間複雜度找出有序陣列中唯一不出現2次的元素
//540. single element in a sorted array (medium)
//假設index是該元素所在位置,mid是偶數,則當(mid+1//當(mid+1>=index),nums[m]!=nums[m+1]
//因此,m為偶數的情況下,當nums[m]==nums[m+1],index所在區間應該為[m+2,h];否則,index在[l,m];
public
intsinglenonduplicate
(int
nums)
return h;
}//旋轉陣列中的最小數字 153. find minimum in rotated sorted array (medium)
public
intfindmin
(int
nums)
return nums[l];}
//查詢區間,找到最左位置,找到最右位置
//34. search for a range (medium)
public
intfindrange
(int
nums,
int target)
if(nums[l]
!=target)
return
newint
;else
last = h;
return
newint;}
}
LeetCode 查詢 二分查詢
給定乙個 n 個元素有序的 公升序 整型陣列 nums 和乙個目標值 target 寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 1。示例 輸入 nums 1,0,3,5,9,12 target 9 輸出 4 解釋 9 出現在 nums 中並且下標為 4 輸入 nu...
leetcode 二分查詢
leetcode 29 給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數dividend除以除數divisor得到的商。演算法設計 用2進製的左移操作,每次對被除數左移1位,比較除數與被除數左移的後的大小關係,並在結果中加上左移...
LeetCode 二分查詢
給定乙個 n 個元素有序的 公升序 整型陣列 nums 和乙個目標值 target 寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 1。示例 1 輸入 nums 1,0,3,5,9,12 target 9 輸出 4 解釋 9 出現在 nums 中並且下標為 4 示例 ...