给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。用java实现
时间: 2023-08-20 15:51:13 浏览: 88
好的,我会使用Java编写一个函数来解决这个问题。以下是代码示例:
```java
public class SearchInsertPosition {
public static int searchInsert(int[] nums, int target) {
int left = 0;
int right = nums.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return left;
}
public static void main(String[] args) {
int[] nums = {1, 3, 5, 6};
int target = 4;
int result = searchInsert(nums, target);
System.out.println("目标值的索引或插入位置是:" + result);
}
}
```
您可以将您自己的排序数组和目标值传递给`searchInsert`函数,然后运行代码以获取结果。在这个示例中,排序数组`nums`为`{1, 3, 5, 6}`,目标值`target`为`4`,输出将是`2`,因为目标值`4`应插入到索引`2`的位置上。
阅读全文