91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetcode中如何解決二分查找問題

發布時間:2022-01-17 11:45:59 來源:億速云 閱讀:120 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關leetcode中如何解決二分查找問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

題目鏈接

https://leetcode-cn.com/problems/binary-search/

 

題目描述

給定一個 n 個元素有序的(升序)整型數組 nums 和一個目標值 target,寫一個函數搜索 nums 中的 target,如果目標值存在返回下標,否則返回 -1

示例 1:

輸入: nums = [-1,0,3,5,9,12], target = 9輸出: 4解釋: 9 出現在 nums 中并且下標為 4
 

示例 2:

輸入: nums = [-1,0,3,5,9,12], target = 2輸出: -1解釋: 2 不存在 nums 中因此返回 -1
 

提示:

  1. 你可以假設 nums 中的所有元素是不重復的。

  2. n 將在 [1, 10000]之間。

  3. nums 的每個元素都將在 [-9999, 9999]之間。

 

解題方案

 

思路

  • 標簽:二分查找

  • 過程:

    • 設定左右指針

    • 找出中間位置,并判斷該位置值是否等于target

    • nums[mid] == target 則返回該位置下標

    • nums[mid] > target 則右側指針移到中間

    • nums[mid] < target 則左側指針移到中間

  • 時間復雜度:O(logN)

 

畫解

leetcode中如何解決二分查找問題leetcode中如何解決二分查找問題leetcode中如何解決二分查找問題leetcode中如何解決二分查找問題leetcode中如何解決二分查找問題leetcode中如何解決二分查找問題leetcode中如何解決二分查找問題

 

代碼

class Solution {    public int search(int[] nums, int target) {        int left = 0, right = nums.length - 1;        while(left<=right) {            int mid = left + (right - left) / 2;            if(nums[mid] == target) {                return mid;            } else if(nums[mid] > target) {                right = mid - 1;            } else {                left = mid + 1;            }        }        return -1;    }}

關于“leetcode中如何解決二分查找問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

环江| 丰县| 龙门县| 宝坻区| 广宁县| 赤壁市| 十堰市| 达拉特旗| 石景山区| 彰化县| 东源县| 信阳市| 芮城县| 湘潭县| 余姚市| 永川市| 泸西县| 精河县| 武邑县| 靖安县| 红安县| 雷山县| 大渡口区| 洛南县| 平乐县| 上蔡县| 屏南县| 常州市| 武乡县| 秀山| 威信县| 安溪县| 大宁县| 武安市| 通渭县| 平顶山市| 河北省| 壤塘县| 大连市| 拉孜县| 十堰市|