中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++ - 二分查找完整版(包括注意細節)

發布時間:2020-08-02 19:36:15 來源:網絡 閱讀:1748 作者:對影 欄目:編程語言
  int getPos(vector<int> A, int n, int val) 
   
         int left = 0;
	int right = n-1;
    int index = n;
 
	while(left <= right)
	{
		int mid = (left+right)/2;

		if(A[mid] == val)
        {
            if(mid < index)
			   index = mid;
            right = mid -1;
        }
		else if(A[mid] > val)
			right = mid-1;
		else if(A[mid] < val)
			left = mid+1;
	}
    
    if(index != n)
        return index;
    else
        return -1; // write code here
    }

    如上述代碼所示,二分查找主要是控制左右兩個指針的遞進關系。第一個注意事項是:while循環必須是left<=rigtht,而不是left<right,否則無法處理第一個數字即為要查找數字這種情況。其次,在找到的時候,還要再判斷一下是否前面有相同的關鍵字,以確保要查找的數字即為第一次出現的數字。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临武县| 重庆市| 太原市| 正镶白旗| 姚安县| 潮州市| 班戈县| 浦县| 镇江市| 五台县| 元朗区| 灵川县| 松江区| 岑巩县| 明溪县| 迭部县| 武陟县| 无极县| 固镇县| 托里县| 友谊县| 织金县| 府谷县| 晋中市| 宜丰县| 鄢陵县| 宜城市| 沅陵县| 金乡县| 哈密市| 类乌齐县| 成安县| 轮台县| 盐源县| 陕西省| 忻城县| 高唐县| 南昌市| 论坛| 永昌县| 内乡县|