leetcode 二分查詢

2021-09-13 09:54:25 字數 1485 閱讀 1199

//二分查詢基本實現

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 示例 ...