中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

手機網(wǎng)站開發(fā) pdf軟文素材庫

手機網(wǎng)站開發(fā) pdf,軟文素材庫,jsp動態(tài)網(wǎng)站開發(fā)趙增敏,俄羅斯在線 網(wǎng)站制作🌟快來參與討論💬,點贊👍、收藏?、分享📤,共創(chuàng)活力社區(qū)。 🌟 別再猶豫了!快來訂閱我們的算法每日雙題精講專欄,一起踏上算法學習的精彩之旅吧💪 在算法的…

?🌟快來參與討論💬,點贊👍、收藏?、分享📤,共創(chuàng)活力社區(qū)。 🌟?

別再猶豫了!快來訂閱我們的算法每日雙題精講專欄,一起踏上算法學習的精彩之旅吧💪???


?????????在算法的學習之旅中,二分查找是一種高效且經(jīng)典的算法,其應(yīng)用場景廣泛。今天我們將深入探討如何運用二分查找來解決 “尋找旋轉(zhuǎn)排序數(shù)組中的最小值” 以及趣味十足的 “點名” 問題。這兩道題不僅能加深我們對二分查找的理解,還能鍛煉我們在不同場景下靈活運用算法的能力。?


?目錄

一、尋找旋轉(zhuǎn)排序數(shù)組中的最小值

📖題目描述

🧠講解算法原理

💻代碼實現(xiàn)(以 C++ 為例)

復雜度分析

二、點名

📖題目描述

🧠講解算法原理

💻代碼實現(xiàn)(以 C++ 為例)

復雜度分析


一、尋找旋轉(zhuǎn)排序數(shù)組中的最小值

題目鏈接👉【力扣】

📖題目描述

?

?

?

🧠講解算法原理

對于這道題,我們可以利用二分查找來優(yōu)化時間復雜度。

????????初始化左指針 left 為 0,右指針 right 為數(shù)組長度減 1。在循環(huán)過程中,計算中間索引 mid = left + (right - left) / 2 。

比較 nums[mid] 與 nums[right] 的大小:

  • 如果 nums[mid] < nums[right] ,說明最小值在 mid 及其左邊,因為 mid 到 right 這一段是有序的,最小值肯定不在這一段,所以將 right 更新為 mid 。
  • 如果 nums[mid] > nums[right] ,說明最小值在 mid 的右邊,因為 mid 及其左邊這一段是有序的,最小值不在這一段,所以將 left 更新為 mid + 1 。

當 left 等于 right 時,循環(huán)結(jié)束,此時 nums[left] 就是數(shù)組中的最小值。

?

💻代碼實現(xiàn)(以 C++ 為例)

#include <iostream>
#include <vector>using namespace std;int findMin(vector<int>& nums) {int left = 0, right = nums.size() - 1;while (left < right) {int mid = left + (right - left) / 2;if (nums[mid] < nums[right]) {right = mid;}else {left = mid + 1;}}return nums[left];
}

復雜度分析

?

  • 時間復雜度:每次循環(huán)都將搜索區(qū)間縮小一半,所以時間復雜度為 O(log n),其中?n 是數(shù)組的長度。相比遍歷整個數(shù)組查找最小值的暴力解法(時間復雜度為 O(n)),效率大大提高。
  • 空間復雜度:只使用了常數(shù)級別的額外空間,即幾個指針變量,所以空間復雜度為 O(1)。

二、點名

?題目鏈接👉【力扣】

📖題目描述

?

?

?

🧠講解算法原理

這道題同樣可以借助二分查找來高效解決。

????????初始化左指針 left 為 0,右指針 right 為名單長度減 1。

????????在循環(huán)中,計算中間索引 mid = left + (right - left) / 2 。

比較中間位置的學生名字與老師點的名字:

  • 如果相同,直接返回 mid 。
  • 如果中間位置的名字小于老師點的名字,說明要找的名字在 mid 的右邊,將 left 更新為 mid + 1 。
  • 如果中間位置的名字大于老師點的名字,說明要找的名字在 mid 的左邊,將 right 更新為 mid - 1 。

當 left 大于 right 時,循環(huán)結(jié)束,說明名單中沒有該學生,返回 -1 。

💻代碼實現(xiàn)(以 C++ 為例)

#include <iostream>
#include <vector>
#include <string>using namespace std;int rollCall(vector<string>& names, string target) {int left = 0, right = names.size() - 1;while (left <= right) {int mid = left + (right - left) / 2;if (names[mid] == target) {return mid;}else if (names[mid] < target) {left = mid + 1;}else {right = mid - 1;}}return -1;
}

復雜度分析

  • 時間復雜度:每次迭代都能將搜索區(qū)間縮小一半,時間復雜度為O(log n) ,其中 n是名單中學生的數(shù)量。相比逐個遍歷名單查找學生的暴力解法(時間復雜度為 O(n)),效率大幅提升。
  • 空間復雜度:只使用了常數(shù)級別的額外空間,如幾個指針變量,所以空間復雜度為?O(1)。

????????通過對這兩道題目的學習,我們對二分查找算法的理解和應(yīng)用能力又上了一個新臺階。在今后遇到類似問題時,要學會靈活運用二分查找來優(yōu)化代碼的時間復雜度。

如果大家在學習過程中有任何疑問或者想法,歡迎在評論區(qū)交流分享。后續(xù)我還會帶來更多精彩的算法內(nèi)容,記得關(guān)注哦!

?

http://www.risenshineclean.com/news/12237.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)簡介聯(lián)系方式外貿(mào)網(wǎng)絡(luò)推廣公司
  • 今日南昌疫情最新要求深圳seo優(yōu)化
  • 網(wǎng)站建設(shè)+用ftp上傳文件志鴻優(yōu)化設(shè)計
  • 教育營銷型的網(wǎng)站建設(shè)常州網(wǎng)站推廣公司
  • 影視網(wǎng)站建設(shè)教程品牌營銷策劃十大要點
  • 商務(wù)部網(wǎng)站建設(shè)情況匯報查排名官網(wǎng)
  • 船山網(wǎng)站建設(shè)網(wǎng)站seo推廣計劃
  • 簡單大氣網(wǎng)站營銷型網(wǎng)站的特點
  • 加盟辦廠代加工湖南seo網(wǎng)站策劃
  • 最便宜的網(wǎng)站建設(shè)公司百度品牌廣告是什么
  • 源碼做網(wǎng)站教程微信營銷號
  • ios網(wǎng)站開發(fā)視頻教程中國十大新聞網(wǎng)站排名
  • 建設(shè)廳執(zhí)業(yè)注冊中心網(wǎng)站官網(wǎng)設(shè)計比較好看的網(wǎng)站
  • 手機能看的你們知道的免費seo網(wǎng)站的工具
  • siteground建站教程品牌seo是什么意思
  • 中山藍圖科技網(wǎng)站建設(shè)深圳網(wǎng)站優(yōu)化公司
  • jquery動畫特效網(wǎng)站四川seo整站優(yōu)化吧
  • 電子商務(wù)公司設(shè)計網(wǎng)站建設(shè)掌門一對一輔導官網(wǎng)
  • 站長工具國產(chǎn)搜索熱度查詢
  • 金昌市建設(shè)局網(wǎng)站外鏈服務(wù)
  • 滕州手機網(wǎng)站建設(shè)案例google關(guān)鍵詞排名
  • 北京海淀區(qū)疫情最新情況解釋seo網(wǎng)站推廣
  • 革命幻燈片 wordpress365優(yōu)化大師軟件下載
  • 遵義網(wǎng)站推廣百度新聞下載安裝
  • 電子商務(wù)網(wǎng)站設(shè)計分析怎么做大量微信群推廣代發(fā)廣告
  • 濰坊做電商的網(wǎng)站建設(shè)品牌營銷推廣要怎么做
  • b2b網(wǎng)站模塊重慶seo整站優(yōu)化效果
  • 廣州市建設(shè)局官方網(wǎng)站代運營哪家公司最靠譜
  • 高端網(wǎng)站建設(shè) 磐石網(wǎng)絡(luò)專注徐州seo排名公司
  • 為網(wǎng)站做seo需要什么軟件百度做推廣一般要多少錢