五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

力扣:二分查找

2023-03-08 19:29 作者:薄荷硬糖醬  | 我要投稿

題目:

704. 二分查找

難度簡(jiǎn)單1197收藏分享切換為英文接收動(dòng)態(tài)反饋


給定一個(gè) n 個(gè)元素有序的(升序)整型數(shù)組 nums 和一個(gè)目標(biāo)值 target? ,寫(xiě)一個(gè)函數(shù)搜索 nums 中的 target,如果目標(biāo)值存在返回下標(biāo),否則返回 -1。



示例 1:


輸入: nums = [-1,0,3,5,9,12], target = 9輸出: 4解釋: 9 出現(xiàn)在 nums 中并且下標(biāo)為 4


示例 2:


輸入: nums = [-1,0,3,5,9,12], target = 2輸出: -1解釋: 2 不存在 nums 中因此返回 -1


?


提示:


你可以假設(shè) nums 中的所有元素是不重復(fù)的。


n 將在 [1, 10000]之間。


nums 的每個(gè)元素都將在 [-9999, 9999]之間。


第一種錯(cuò)法:


class Solution {


public:


? ? int search(vector<int>& nums, int target) {


? ? ? ? ? ? int right=nums.size()-1,left=0;


? ? ? ? ? ? while(right>=left){


? ? ? ? ? ? ? ? int mid = (right+left)/2;


? ? ? ? ? ? ? ? if(nums[mid]>target){


? ? ? ? ? ? ? ? ? ? right=mid-1;


? ? ? ? ? ? ? ? }else if(nums[mid]<target){


? ? ? ? ? ? ? ? ? ? left=mid+1;


? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? if(nums[mid]==target){


? ? ? ? ? ? ? ? ? ? return mid;


? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? right--,left++;//這里錯(cuò)了


? ? ? ? ? ? }


? ? ? ? ? ? return -1;


? ? }


};


想著要讓right<left但是當(dāng)時(shí)沒(méi)有意識(shí)到讓right和left等于mid+1/-1就已經(jīng)慢慢趨近這個(gè)結(jié)果了


第一種對(duì)法:

class Solution {


public:


? ? int search(vector<int>& nums, int target) {


? ? ? ? ? ? int right=nums.size()-1,left=0;


? ? ? ? ? ? while(right>=left){


? ? ? ? ? ? ? ? int mid = (right+left)/2;


? ? ? ? ? ? ? ? if(nums[mid]>target){


? ? ? ? ? ? ? ? ? ? right=mid-1;


? ? ? ? ? ? ? ? }else if(nums[mid]<target){


? ? ? ? ? ? ? ? ? ? left=mid+1;


? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? if(nums[mid]==target){


? ? ? ? ? ? ? ? ? ? return mid;


? ? ? ? ? ? ? ? }


? ? ? ? ? ? }


? ? ? ? ? ? return -1;


? ? }


};


兩邊為閉區(qū)間的寫(xiě)法:[1 2 3 4 5](像這樣)

第二種對(duì)法:

class?Solution?{

public:

????int?search(vector<int>&?nums,?int?target)?{

????????????int?right=nums.size(),left=0;

????????????while(right>left){

????????????????int?mid?=?left+((right-left)>>1);

????????????????if(nums[mid]>target){

????????????????????right=mid;

????????????????}else?if(nums[mid]<target){

????????????????????left=mid+1;

????????????????}else{

????????????????????return?mid;

????????????????}

????????????}

????????????return?-1;

????}

};

左閉右開(kāi)[1 2 3 4 5 6)的寫(xiě)法

力扣:二分查找的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
韶关市| 伊金霍洛旗| 泰来县| 广河县| 庄浪县| 锡林浩特市| 麟游县| 广丰县| 云龙县| 明水县| 西充县| 漾濞| 加查县| 陵川县| 洞头县| 云安县| 定兴县| 文水县| 石阡县| 科技| 曲沃县| 南江县| 富顺县| 清新县| 炎陵县| 南丹县| 井冈山市| 望城县| 麻阳| 余干县| 自贡市| 龙胜| 屯留县| 平武县| 仁化县| 陵川县| 湖州市| 错那县| 石门县| 高密市| 元阳县|