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

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

手機網(wǎng)站開發(fā) pdf最新旅游熱點

手機網(wǎng)站開發(fā) pdf,最新旅游熱點,個人做旅游網(wǎng)站怎樣,做網(wǎng)站應達到什么效果🌟快來參與討論💬,點贊👍、收藏?、分享📤,共創(chuàng)活力社區(qū)。 🌟 別再猶豫了!快來訂閱我們的算法每日雙題精講專欄,一起踏上算法學習的精彩之旅吧💪 在算法的…

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

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


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


?目錄

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

📖題目描述

🧠講解算法原理

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

復雜度分析

二、點名

📖題目描述

🧠講解算法原理

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

復雜度分析


一、尋找旋轉排序數(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)結束,此時 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)結束,說明名單中沒有該學生,返回 -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ōu)化代碼的時間復雜度。

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

?

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

相關文章:

  • 王妃貌美還狠兇搜索引擎優(yōu)化的作用
  • 家裝效果圖seo管理系統(tǒng)培訓運營
  • 網(wǎng)站制作和網(wǎng)頁制作區(qū)別上海百度推廣優(yōu)化排名
  • flash可以做網(wǎng)站seo優(yōu)化運營
  • 柳市那些做網(wǎng)站的公司定制網(wǎng)站和模板建站
  • 做網(wǎng)站經(jīng)常加班還是app武漢seo優(yōu)化
  • 商業(yè)網(wǎng)站建設視頻教程關鍵詞排名優(yōu)化教程
  • 公司網(wǎng)站建設的系統(tǒng)功能需求分析安徽seo推廣
  • 和平區(qū)網(wǎng)站建設房地產(chǎn)估價師考試
  • 經(jīng)營性網(wǎng)站必須備案排名優(yōu)化關鍵詞
  • 這么做3d展示網(wǎng)站優(yōu)化網(wǎng)站排名的方法
  • 網(wǎng)站建設完整南寧白帽seo技術
  • 手工企業(yè)網(wǎng)站模板企業(yè)網(wǎng)站制作公司
  • 淮安哪里有做網(wǎng)站的北京網(wǎng)站seo技術廠家
  • 網(wǎng)站改版方案原則百度關鍵詞搜索量排名
  • 網(wǎng)站建設財務上怎么處理寧波seo推廣推薦
  • 網(wǎng)站怎么解析到域名推廣類軟文
  • 免費word模板下載哪個網(wǎng)站網(wǎng)站建設方案書范文
  • wordpress 整站音樂看廣告收益的正規(guī)平臺
  • 貴溪市城鄉(xiāng)建設局網(wǎng)站推廣公眾號的9種方法
  • 網(wǎng)站建設和購買區(qū)別網(wǎng)絡推廣100種方法
  • 動態(tài)網(wǎng)站建設的一般步驟免費的h5制作網(wǎng)站
  • wordpress恢復源代碼willfast優(yōu)化工具下載
  • 電子商務網(wǎng)站設計畢業(yè)設計論文競價推廣員月掙多少
  • 網(wǎng)站怎么做優(yōu)化排名推廣下載
  • 福州外包加工網(wǎng)廈門seo優(yōu)化推廣
  • 保定設計網(wǎng)站建設寧波做網(wǎng)站的公司
  • 網(wǎng)站建設公司公司哪家好北京seo排名優(yōu)化網(wǎng)站
  • 汽車之家app下載最新版舟山百度seo
  • 做網(wǎng)站一屏一屏的網(wǎng)站推廣優(yōu)化教程