日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

二分法(leetcode分类解题,C++代码详细注释)

發布時間:2023/12/10 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二分法(leetcode分类解题,C++代码详细注释) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二分法

  • 前言
  • 69. x 的平方根
  • 35. 搜索插入位置

前言

二分查找也常被稱為二分法或者折半查找,每次查找時通過將待查找區間分成兩部分并只取一部分繼續查找,將查找的復雜度大大減少。對于一個長度為 O(n) 的數組,二分查找的時間復雜度為 O(log n)。

69. x 的平方根


題解
我們可以把這道題想象成,給定一個非負整數 aaa,求f(x)=x2,a=0f (x) = x2,a = 0f(x)=x2,a=0 的解。因為我們只考慮 x≥0x ≥ 0x0,所以 f(x)f (x)f(x) 在定義域上是單調遞增的。考慮到 f(0)=a≤0,f(a)=a2a≥0f (0) = a ≤ 0, f (a) = a2 a ≥ 0f(0)=a0f(a)=a2a0,我們可以對 [0,a][0, a][0,a] 區間使用二分法找到 f(x)=0f (x) = 0f(x)=0 的解。

代碼

class Solution { public:int mySqrt(int x) {if(x == 1)return 1;int min = 0;int max = x;while(max-min>1){int m = (max+min)/2;if(x/m<m)max = m;elsemin = m;}return min;} };

35. 搜索插入位置

題解
例如到底是 while(left<right)while(left < right)while(left<right) 還是 while(left<=right)while(left <= right)while(left<=right),到底是right=middleright = middleright=middle呢,還是要right=middle?1right = middle- 1right=middle?1呢?

這里弄不清楚主要是因為**「對區間的定義沒有想清楚,這就是不變量」**。

要在二分查找的過程中,保持不變量,這也就是**「循環不變量」**。

代碼

class Solution { public:int searchInsert(vector<int>& nums, int target) {int n = nums.size();int left = 0;int right = n - 1; // 定義target在左閉右閉的區間里,[left, right] while (left <= right) { // 當left==right,區間[left, right]依然有效int middle = left + ((right - left) / 2);// 防止溢出 等同于(left + right)/2if (nums[middle] > target) {right = middle - 1; // target 在左區間,所以[left, middle - 1]} else if (nums[middle] < target) {left = middle + 1; // target 在右區間,所以[middle + 1, right]} else { // nums[middle] == targetreturn middle;}}// 分別處理如下四種情況// 目標值在數組所有元素之前 [0, -1]// 目標值等于數組中某一個元素 return middle;// 目標值插入數組中的位置 [left, right],return right + 1// 目標值在數組所有元素之后的情況 [left, right], return right + 1return right + 1;} };

總結

以上是生活随笔為你收集整理的二分法(leetcode分类解题,C++代码详细注释)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97免费在线观看视频 | 黄色免费视频网站 | 国产伦精品一区二区三区视频我 | 国产视频亚洲 | 久久社区视频 | 尹人av| 尤物视频在线观看视频 | 日韩欧美精品一区二区三区 | 青青草华人在线视频 | 亚洲视频a | 91亚洲综合| 三上悠亚影音先锋 | 国产一级在线观看视频 | 学生调教贱奴丨vk | 中日韩精品视频在线观看 | 午夜在线小视频 | 青青草成人影视 | 伊人首页| 黑人巨大xxxxx性猛交 | 四虎永久免费在线观看 | 亚洲成人高清 | 尤物视频在线观看 | 亚洲高清视频在线播放 | 岛国精品一区二区 | 美女扒开腿让男生捅 | 色噜噜狠狠一区二区三区果冻 | 九九色在线 | 秋霞影院av| 奇米第四色在线 | 中日韩精品一区二区三区 | 综合一区 | 51国产在线| 99精品一区二区三区 | 一区二区在线视频免费观看 | 久久无码人妻丰满熟妇区毛片 | 亚洲精品小视频 | 黑人一级黄色片 | 老司机伊人| 亚洲风情亚aⅴ在线发布 | 精品综合久久 | 永久免费在线观看av | 少妇毛片一区二区三区 | 国产一区二区三区成人 | 亚洲欧美日韩一区二区三区四区 | 啪啪自拍视频 | 精品国产免费视频 | 人妻无码久久一区二区三区免费 | 小毛片在线观看 | 日本国产在线观看 | gay男互凵gay男同偷精 | 国产女同91疯狂高潮互磨 | 狠狠躁日日躁夜夜躁 | 亚洲精品国产精品国自产观看 | 白白色免费视频 | 久久aaa | 久久九九视频 | 成年人视频在线看 | 综合激情av | 欧美精品久久天天躁 | xxx在线播放 | 欧美黄色成人 | 黑人极品ⅴideos精品欧美棵 | 欧美日韩一区二区三区电影 | 麻豆网站在线播放 | 中国三级黄色 | 欧美日韩国产激情 | 欧美人与性动交α欧美片 | 浪漫樱花动漫在线观看免费 | 超碰在线资源 | 国产欧美亚洲精品 | 青青在线视频观看 | 日韩高清三区 | 91色影院| 国产区在线观看视频 | 中文在线8资源库 | 性欧美1819性猛交 | 神马久久av | 日本精品视频 | 成年人观看视频 | 天海翼av| 国产成人在线看 | 在线看污片 | 精品在线99 | 国产又粗又硬又长又爽的演员 | 国产熟妇乱xxxxx大屁股网 | 老外一级片 | 精品国模一区二区三区欧美 | 国产一区二区在线观看免费 | 懂色一区二区 | 性网站在线观看 | 中文字幕久久网 | 日本一区二区三区在线免费观看 | 91精品综合久久 | 亚洲黄色在线观看视频 | 三级第一页 | 成年人的免费视频 | 蜜臀99久久精品久久久久小说 | 色欧美亚洲 | 性感美女视频一二三 |