刷題 力扣 面試題 10 03 搜尋旋轉陣列

2022-10-08 16:57:23 字數 767 閱讀 6774

題目鏈結

題目描述

搜尋旋轉陣列。給定乙個排序後的陣列,包含n個整數,但這個陣列已被旋轉過很多次了,次數不詳。請編寫**找出陣列中的某個元素,假設陣列元素原先是按公升序排列的。若有多個相同元素,返回索引值最小的乙個。

示例1:

輸入: arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 5

輸出: 8(元素5在該陣列中的索引)

示例2:

輸入:arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 11

輸出:-1 (沒有找到)

題目分析

根據題目描述,在旋轉陣列中查詢指定值

二分查詢,二分後陣列一半有序、一半無序

找到指定值後,需要計算指定值出現的最小下標

**

class solution 

while (arr[mid] == arr[mid - 1])

return mid;

}else if (target < arr[mid])

else if (target >= arr[left])

else

} else

else if (target <= arr[right])

else }}

return -1;

}};

刷題 力扣 面試題 08 11 硬幣

題目鏈結 題目描述 硬幣。給定數量不限的硬幣,幣值為25分 10分 5分和1分,編寫 計算n分有幾種表示法。結果可能會很大,你需要將結果模上1000000007 示例1 輸入 n 5 輸出 2 解釋 有兩種方式可以湊成總金額 5 55 1 1 1 1 1示例2 輸入 n 10 輸出 4 解釋 有四種...

刷題 力扣 面試題 01 08 零矩陣

題目鏈結 題目描述 編寫一種演算法,若m n矩陣中某個元素為0,則將其所在的行與列清零。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,0 0,3,1,0 ...

刷題 力扣 面試題 08 10 顏色填充

題目鏈結 題目描述 編寫函式,實現許多編輯軟體都支援的 顏色填充 功能。待填充的影象用二維陣列 image 表示,元素為初始顏色值。初始座標點的行座標為 sr 列座標為 sc。需要填充的新顏色為 newcolor 周圍區域 是指顏色相同且在上 下 左 右四個方向上存在相連情況的若干元素。請用新顏色填...