題目鏈結
題目描述
搜尋旋轉陣列。給定乙個排序後的陣列,包含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 周圍區域 是指顏色相同且在上 下 左 右四個方向上存在相連情況的若干元素。請用新顏色填...