LeetCode 演算法特輯 二分搜尋

2022-03-11 06:37:52 字數 1591 閱讀 4359

int l =0;

int r =arr.length;

while(ltarget)

r=m-1;

else

return m;

}

影象描述

演算法描述

public static  int  low_bound(int arr,int val)

return l;

}public static int upper_bound(int arr,int val)

return l;

}

題目描述

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。

你可以假設陣列中無重複元素。

示例 1:

輸入: [1,3,5,6], 5

輸出: 2

示例 2:

輸入: [1,3,5,6], 2

輸出: 1

示例 3:

輸入: [1,3,5,6], 7

輸出: 4

示例 4:

輸入: [1,3,5,6], 0

輸出: 0

演算法描述

class solution 

public int upper_bound(int arr,int val)

return l;}}

題目描述

珂珂喜歡吃香蕉。這裡有n堆香蕉,第i堆中有piles[i]根香蕉。警衛已經離開了,將在h小時後回來。

珂珂可以決定她吃香蕉的速度k(單位:根/小時)。每個小時,她將會選擇一堆香蕉,從中吃掉k根。如果這堆香蕉少於k根,她將吃掉這堆的所有香蕉,然後這一小時內不會再吃更多的香蕉。  

珂珂喜歡慢慢吃,但仍然想在警衛回來前吃掉所有的香蕉。

返回她可以在h小時內吃掉所有香蕉的最小速度kk為整數)。

示例 1:

輸入: piles = [3,6,7,11], h = 8

輸出: 4

示例 2:

輸入: piles = [30,11,23,4,20], h = 5

輸出: 30

示例 3:

輸入: piles = [30,11,23,4,20], h = 6

輸出: 23

影象描述

演算法描述

class solution 

return l;}}

二分搜素演算法

二分搜尋演算法的三種情況 推薦部落格,真的寫的非常好!1 當陣列中沒有重複元素時 public int binarysearchimplement int array,int target else if array mid target else if flag return index else...

leetcode演算法總結 二分查詢

查詢目標值及邊界 旋轉陣列 下面我總結乙個二分查詢通用模版,為二分查詢神器,使用該模版解決力扣上的二分查詢幾乎所有的問題。給定的有序陣列 我們要遍歷每個數。判斷遍歷的每個數是否符合給定的條件。比如判斷遍歷的每個數是否等於target 這時我們就要使用二分演算法。他的時間複雜度是o logn 要優於o...

leetcode 那些不像二分的二分

魯迅先生曾經說過 有的二分問題,看著不像二分,但是是真的二分,一旦二分,是真的666 2021年3月21日leetcode周賽第三題 寫這道題是為了記錄一下這個精妙的二分 貪心解法。class solution else return high 計算長度為len的陣列,並且最大值為high的最小總和...