題目描述:給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。可以假設陣列中無重複數。
示例:
輸入:[1,3,5,6],5解法一:遍歷陣列,比較是否在陣列中存在目標值,如果存在,返回當前下標,否則比較目標值與當前值的大小,判斷插入的位置。輸出:2
public static int returnlocation(int nums, int target)
int i = 0;
while (i < len - 1) else if (nums[i] < target && nums[i + 1] > target) else if (target > nums[len - 1]) else if (target < nums[0])
i++;
}return i;
}
二分查詢法。
//解法2:二分查詢
public static int returnlocation2(int nums, int target) else
}return ans;
}
搜尋插入位置
給定乙個排序陣列和乙個目標值,如果在陣列中找到目標值則返回索引。如果沒有,返回到它將會被按順序插入的位置。你可以假設在陣列中無重複元素。二分搜尋法 如果找不到該數,high是比該數小的那個數的下標,而low是比該數大的那個數的下標。public class solution param a an i...
搜尋插入位置
給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 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...
搜尋插入位置
給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5 輸出 2 直接用二分法,注意left和right的更新方式,在while中只用返回mid,if else中更新lef...