LeetCode 35 Search Insert Position(查找插入位置)
在给定的有序数组中插入一个目标数字,求出插入该数字的下标
由于该数组是已经排好序的数组,可以利用二分查找。
二分查找的返回结果:
1. 当查找的数字在数组中时,返回第一次出现的下标
2. 当查找的数字不存在时,返回 - pos - 1(即 应当插入位置的相反数再减去
参考代码:
package leetcode_50; import java.util.Arrays; /*** * * @author pengfei_zheng * 找出插入元素应当插入的下标 */ public class Solution35 { public static int searchInsert(int[] nums, int target) { int ans = Arrays.binarySearch(nums, target); if(ans>=0) return ans; else return -ans-1; } public static void main(String[]args){ int []nums={1,3,5,6}; System.out.println(searchInsert(nums,0)); } }
作者: 伊甸一点
出处: http://www.cnblogs.com/zpfbuaa/
本文版权归作者伊甸一点所有,欢迎转载和商用(须保留此段声明),且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文链接 如有问题, 可邮件(zpflyfe@163.com)咨询.