搜索插入位置:ACM 模式刷题
按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。
题目描述
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
输入格式
第一行输入 n 和 target,第二行输入 n 个非递减整数。
输出格式
输出目标值所在或应插入位置的下标,下标从 0 开始。
数据范围
- 1 ≤ n ≤ 10⁴
- −10⁴ ≤ nums[i], target ≤ 10⁴
- nums 中元素互不相同
公开样例
样例 1
输入
4 5 1 3 5 6
输出
2
target 已位于下标 2。
样例 2
输入
4 2 1 3 5 6
输出
1
插入下标 1 可保持数组有序。
练习建议
先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。