陣列中搜尋插入

2021-09-26 06:59:49 字數 639 閱讀 9872

題目:

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。

例如:

排序陣列:1,3,5,7,9

給定目標值:5

返回:4

排序陣列:1,6,7,9,11

給定目標值:5

返回:3

解決辦法:(二分查詢)

利用二分查詢的思想,給出left,right,mid的值,迴圈條件為left<=right,當nums[mid]等於目標數時就

可以之間返回mid值,也就是目標數在該陣列中的位置。如果是nums[mid]小於目標數則說明此時在陣列中沒有

找到目標數且目標數字於mid的右邊,所以left=mid+1,反之則是right-1。迴圈結束返回left的值,就是目標

數插入的位置。

**:

public int searchinsert(int nums, int target)  else if(nums[mid]<=target)

else

}return left;

}

嘎 陣列 搜尋插入位置

題目 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。解答 其中一開始沒有注意到target nums len 1 的情況 class solution int res 0 for int i 0 i...

向陣列中插入元素

package com.cn.learn.e4 author 0 向陣列中插入元素 public class insert4 5num 原來位置元素向右挪一位 這個迴圈理解上有點難度,首先,i一定是i scores.length 1,如果不減一,會陣列越界 for int i scores.leng...

向陣列中插入元素

package com.cn.learn.e4 author 0 向陣列中插入元素 public class insert4 5num 原來位置元素向右挪一位 這個迴圈理解上有點難度,首先,i一定是i scores.length 1,如果不減一,會陣列越界 for int i scores.leng...