国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

代碼隨想錄算法練習(xí)Day1:二分查找

這篇具有很好參考價(jià)值的文章主要介紹了代碼隨想錄算法練習(xí)Day1:二分查找。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

題目鏈接:704. 二分查找

卡哥視頻講解:手把手帶你撕出正確的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找

二分法概述:

二分法(Binary Search)是一種在有序數(shù)組或列表中查找目標(biāo)元素的算法。

二分法使用前提

  1. 有序數(shù)組或列表:二分法要求在查找的數(shù)據(jù)結(jié)構(gòu)中元素按照某種順序有序排列,通常是升序排列。如果數(shù)組或列表沒有排序,需要先對其進(jìn)行排序,否則無法使用二分法進(jìn)行查找。

  2. 目標(biāo)元素存在:二分法適用于在有序數(shù)組或列表中查找目標(biāo)元素是否存在,或者查找目標(biāo)元素的位置。如果目標(biāo)元素不在數(shù)組或列表中,二分法無法成功找到目標(biāo)元素。

  3. 隨機(jī)訪問:二分法要求能夠通過索引或指針以O(shè)(1)的時(shí)間復(fù)雜度訪問數(shù)組或列表的任意位置。這通常意味著數(shù)據(jù)結(jié)構(gòu)需要支持隨機(jī)訪問,比如數(shù)組。

代碼示例:

示例1(左閉右閉寫法):???????代碼隨想錄算法練習(xí)Day1:二分查找,算法,java

示例2(左閉右開寫法):代碼隨想錄算法練習(xí)Day1:二分查找,算法,java

總結(jié):

1.>> 是右移位操作符,它將左操作數(shù)向右移動指定的位數(shù)。在這里,right - left 表示當(dāng)前搜索范圍的長度,right - left >> 1 將長度右移一位,相當(dāng)于將長度除以2,得到搜索范圍的一半。然后再加上 left,得到中間位置 mid。

這種寫法與普通的 (left + right) / 2 求中間位置的寫法相比,可以避免在大數(shù)相加時(shí)可能導(dǎo)致的溢出問題,同時(shí)也更為高效。因?yàn)橛乙莆徊僮鞣男阅鼙瘸ㄟ\(yùn)算更高,尤其在一些硬件上會被優(yōu)化為位運(yùn)算。

2.在寫范圍的時(shí)候,是根據(jù)是否包含數(shù)組的邊界元素來確定的。文章來源地址http://www.zghlxwxcb.cn/news/detail-855922.html

到了這里,關(guān)于代碼隨想錄算法練習(xí)Day1:二分查找的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 代碼隨想錄day31 貪心算法初探

    ????????就像卡哥視頻里說的一樣,感覺貪心算法確實(shí)沒什么固定的套路,唯一的思路就是求局部最優(yōu)解然后推廣到全局最優(yōu)解,但是什么是局部最優(yōu)解,這個(gè)需要慢慢做題來摸索總結(jié),有點(diǎn)像調(diào)參,蠻玄學(xué)的,純考腦子 假設(shè)你是一位很棒的家長,想要給你的孩子們一些

    2024年01月18日
    瀏覽(995)
  • 代碼隨想錄算法訓(xùn)練day4 | 鏈表

    目錄 24. 兩兩交換鏈表節(jié)點(diǎn) 19. 刪除鏈表倒數(shù)第n個(gè)節(jié)點(diǎn) 方法一:普通寫法 方法二:雙指針法 面試題:找鏈表相交節(jié)點(diǎn) 142. 判斷環(huán)形鏈表 虛擬頭節(jié)點(diǎn)的本質(zhì)意義在于減少了特殊情況的處理。不用判斷該節(jié)點(diǎn)是否在鏈表的第一位。 定義快慢兩個(gè)指針。 fast先走n步,再讓fast和s

    2024年02月04日
    瀏覽(90)
  • 代碼隨想錄算法訓(xùn)練DAY25|回溯2

    代碼隨想錄算法訓(xùn)練DAY25|回溯2

    力扣題目鏈接 找出所有相加之和為 n 的 k 個(gè)數(shù)的組合。組合中只允許含有 1 - 9 的正整數(shù),并且每種組合中不存在重復(fù)的數(shù)字。 說明: 所有數(shù)字都是正整數(shù)。 解集不能包含重復(fù)的組合。 示例 1: 輸入: k = 3, n = 7 輸出: [[1,2,4]] 示例 2: 輸入: k = 3, n = 9 輸出: [[1,2,6], [1,3,5], [2,3,4]

    2024年01月22日
    瀏覽(91)
  • 代碼隨想錄算法訓(xùn)練DAY27|回溯3

    代碼隨想錄算法訓(xùn)練DAY27|回溯3

    力扣題目鏈接 給定一個(gè)無重復(fù)元素的數(shù)組 candidates 和一個(gè)目標(biāo)數(shù) target ,找出 candidates 中所有可以使數(shù)字和為 target 的組合。 candidates 中的數(shù)字可以無限制重復(fù)被選取。 說明: 所有數(shù)字(包括 target)都是正整數(shù)。 解集不能包含重復(fù)的組合。 示例 1: 輸入:candidates = [2,3,6,

    2024年01月23日
    瀏覽(92)
  • 代碼隨想錄Day20 回溯算法 LeetCode77 組合問題

    代碼隨想錄Day20 回溯算法 LeetCode77 組合問題

    以下內(nèi)容更詳細(xì)解釋來自于:代碼隨想錄 (programmercarl.com) 回溯法也叫回溯搜索法,是搜索法的一種,我們之前在二叉樹中也經(jīng)常使用到回溯來解決問題,其實(shí) 有遞歸就有回溯 ,有的時(shí)候回溯隱藏在遞歸之下,我們不容易發(fā)覺,今天我們來詳細(xì)介紹一下什么是回溯,它能解決哪些問題.

    2024年02月08日
    瀏覽(93)
  • 【一天三道算法題】代碼隨想錄——Day15(困難題只有一道)

    一. 滑動窗口最大值 題目鏈接:力扣 思路: ????????這道題我認(rèn)為最難的是編程語言本身并沒有一個(gè)可以讓你完全直接開始使用的一個(gè)數(shù)據(jù)結(jié)構(gòu),也就是說要自己造輪子。并且為了盡可能的減少維護(hù)元素的個(gè)數(shù)我們要學(xué)會去在能實(shí)現(xiàn)功能的前提下,維護(hù)盡可能少的數(shù)組元

    2024年02月15日
    瀏覽(93)
  • 代碼隨想錄 LeetCode數(shù)組篇 二分查找

    代碼隨想錄 LeetCode數(shù)組篇 二分查找

    # (簡單)704. 二分查找 題目鏈接 代碼隨想錄 - 二分查找思路 二分查找,思路很簡單,但是在while循環(huán)left和right的比較是寫=還是,還有right=mid還是right=mid-1容易混淆 需要想清楚對區(qū)間的定義,是[left,right],還是[left,right) (版本一,左閉右閉版本) (版本二,左閉右開) 題目

    2024年02月02日
    瀏覽(93)
  • 代碼隨想錄Python:704. 二分查找,27. 移除元素

    數(shù)組是非常基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)。 數(shù)組是存放在連續(xù)內(nèi)存空間上的相同類型數(shù)據(jù)的集合。 題目: 給定一個(gè)? n ?個(gè)元素有序的(升序)整型數(shù)組? nums ?和一個(gè)目標(biāo)值? target ??,寫一個(gè)函數(shù)搜索? nums ?中的? target ,如果目標(biāo)值存在返回下標(biāo),否則返回? -1 。 題目鏈接:. - 力扣

    2024年02月13日
    瀏覽(24)
  • 代碼隨想錄Day58

    昨天因?yàn)橹驹富顒雍凸P試耽誤了一整天,今天繼續(xù)學(xué)習(xí)動規(guī)解決子序列問題。 給定字符串 s 和 t ,判斷 s 是否為 t 的子序列。 字符串的一個(gè)子序列是原始字符串刪除一些(也可以不刪除)字符而不改變剩余字符相對位置形成的新字符串。(例如,\\\"ace\\\"是\\\"abcde\\\"的一個(gè)子序列,

    2023年04月27日
    瀏覽(97)
  • 代碼隨想錄Day50

    昨天因?yàn)闇?zhǔn)備面試所以咕咕了一天。今天繼續(xù)學(xué)習(xí)動規(guī)算法,盡管背包問題已經(jīng)結(jié)束但其中的各類思想仍需要進(jìn)一步理解。 你是一個(gè)專業(yè)的小偷,計(jì)劃偷竊沿街的房屋。每間房內(nèi)都藏有一定的現(xiàn)金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng),如果兩

    2023年04月14日
    瀏覽(93)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包