成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

旋轉數(shù)組中的最小數(shù)字

題目描述:把一個數(shù)組最開始的若干個元素移動到數(shù)組的末尾,稱之為一個數(shù)組的旋轉。輸入一個遞增排序的數(shù)組的旋轉,輸出旋轉數(shù)組的最小元素。

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務惠來,十載網(wǎng)站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575

例如:數(shù)組 {3,4,5,1,2} 為{1,2,3,4,5} 的一個旋轉,該數(shù)組的最小元素為 1。

分析:旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

int Min(int* numbers, int length)
{
    if(numbers == NULL || length <= 0)
        throw new std::exception("Invalid parameters");
 
    int index1 = 0;
    int index2 = length - 1;
    int indexMid = index1;
    while(numbers[index1] >= numbers[index2])
    {
        // 如果index1和index2指向相鄰的兩個數(shù),
        // 則index1指向第一個遞增子數(shù)組的最后一個數(shù)字,
        // index2指向第二個子數(shù)組的第一個數(shù)字,也就是數(shù)組中的最小數(shù)字
        if(index2 - index1 == 1)
        {
            indexMid = index2;
            break;
        }
 
        // 如果下標為index1、index2和indexMid指向的三個數(shù)字相等,
        // 則只能順序查找
        
        indexMid = (index1 + index2) / 2;
        // 縮小查找范圍
        if(numbers[indexMid] >= numbers[index1])
            index1 = indexMid;
        else if(numbers[indexMid] <= numbers[index2])
            index2 = indexMid;
    }
 
    return numbers[indexMid];
}

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

旋轉數(shù)組中的最小數(shù)字

int Min(int* numbers, int length)
{
    if(numbers == NULL || length <= 0)
        throw new std::exception("Invalid parameters");
 
    int index1 = 0;
    int index2 = length - 1;
    int indexMid = index1;
    while(numbers[index1] >= numbers[index2])
    {
        // 如果index1和index2指向相鄰的兩個數(shù),
        // 則index1指向第一個遞增子數(shù)組的最后一個數(shù)字,
        // index2指向第二個子數(shù)組的第一個數(shù)字,也就是數(shù)組中的最小數(shù)字
        if(index2 - index1 == 1)
        {
            indexMid = index2;
            break;
        }
 
        // 如果下標為index1、index2和indexMid指向的三個數(shù)字相等,
        // 則只能順序查找
        indexMid = (index1 + index2) / 2;
        if(numbers[index1] == numbers[index2] && numbers[indexMid] == numbers[index1])
            return MinInOrder(numbers, index1, index2);

        // 縮小查找范圍
        if(numbers[indexMid] >= numbers[index1])
            index1 = indexMid;
        else if(numbers[indexMid] <= numbers[index2])
            index2 = indexMid;
    }
 
    return numbers[indexMid];
}

int MinInOrder(int* numbers, int index1, int index2)
{
    int result = numbers[index1];
    for(int i = index1 + 1; i <= index2; ++i)
    {
        if(result > numbers[i])
            result = numbers[i];
    }

    return result;
}

旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字旋轉數(shù)組中的最小數(shù)字

本文題目:旋轉數(shù)組中的最小數(shù)字
文章URL:http://jinyejixie.com/article22/jjppjc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設網(wǎng)站策劃、網(wǎng)站維護、商城網(wǎng)站、外貿網(wǎng)站建設、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網(wǎng)站制作
娱乐| 舞钢市| 登封市| 弥勒县| 丹巴县| 石景山区| 滨海县| 东阳市| 东阳市| 宁城县| 手机| 江孜县| 禹城市| 深州市| 东乡| 若羌县| 巴塘县| 翼城县| 渝中区| 河曲县| 萨嘎县| 大宁县| 浦城县| 米易县| 攀枝花市| 桐乡市| 东台市| 耒阳市| 横峰县| 合山市| 改则县| 保亭| 武强县| 玉溪市| 嘉禾县| 常熟市| 襄汾县| 仲巴县| 长岛县| 合作市| 黄冈市|