文章

35. 搜索插入位置

问题35 搜索插入位置 ★☆☆☆☆

https://leetcode-cn.com/problems/search-insert-position/

这个题目比较简单了,属于二分查找的微小变种,在二分查找的基础上增加一个插入位置下标的计算而已。稍微想一下两个连续元素的二分查找过程就可以确认最后返回right+1即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	public int searchInsert(int[] nums, int target) {
		assert nums.length > 0;

		int left = 0, right = nums.length - 1;
		while (left <= right) {
			int mid = left + (right - left) / 2;
			if (nums[mid] == target) {
				return mid;
			} else if (nums[mid] > target) {
				right = mid - 1;
			} else {
				left = mid + 1;
			}
		}

		return right + 1;
	}

在 LeetCode 查看

本文由作者按照 CC BY 4.0 进行授权