亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

荥经县| 日喀则市| 巨鹿县| 雷山县| 堆龙德庆县| 宝应县| 扬州市| 花莲县| 伊金霍洛旗| 卓资县| 凤庆县| 金乡县| 应城市| 石家庄市| 多伦县| 天台县| 县级市| 鹤壁市| 浮梁县| 百色市| 太白县| 大庆市| 呼图壁县| 肥西县| 平顶山市| 迁安市| 进贤县| 全州县| 中山市| 德昌县| 奉化市| 石景山区| 左权县| 奉节县| 明光市| 萨迦县| 上饶市| 曲松县| 定兴县| 沂南县| 凤凰县|