無疑是利用二分查詢了,但是,當乙個不存在陣列中的元素,應該如何確定它在陣列中的位置呢?
二分法在跳出迴圈時,說明這個元素沒有在陣列當中,但是,在跳出來之前,left和right即為相鄰的元素;
當用target目標元素和mid比較的時候,target比中間的大應該選沒跳出迴圈時的右邊,否則選左邊作為插入位置。
class solution
else
}int left = 0;
int mid = 0;
boolean flag = false;
// 可以用二分法解決的
while(leftnums[mid])else if(target==nums[mid])
else
}if(flag)else }}
二分查詢的精妙之處需要理解透徹。 LeetCode 35 搜尋插入位置
35 搜尋插入位置 給定乙個排序陣列和乙個目標值,如果在陣列中找到目標值則返回索引。如果沒有,返回到它將會被按順序插入的位置。你可以假設在陣列中無重複元素。案例 1 輸入 1,3,5,6 5 輸出 2 案例 2 輸入 1,3,5,6 2 輸出 1 案例 3 輸入 1,3,5,6 7 輸出 4 案例 ...
LeetCode 35 搜尋插入位置
題目描述 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。示例 示例1 輸入 1,3,5,6 5 輸出 2示例2 輸入 1,3,5,6 2 輸出 1示例3 輸入 1,3,5,6 7 輸出 4示例4 輸入 1,3,5,6 0 輸出...
leetcode 35 搜尋插入位置
題目 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5輸出 2示例 2 輸入 1,3,5,6 2輸出 1示例 3 輸入 1,3,5,6 7輸出 4示例 4 輸入 1,...