[1,3,5,6], 0 → 0 java
该题使用二分查找的策略进行实现。 spa
public class Solution { public int searchInsert(int[] A, int target) { int begin = 0; int end = A.length-1; while(begin <= end){ int mid = (begin + end) / 2; if(A[mid] == target){ return mid; }else if(A[mid] < target){ begin = mid + 1; }else{ end = mid - 1; } } //目标节点比mid位置的数据要小,根据二分查找应该将target的位置设置为mid,故此返回end+1 if(end < begin){ return end + 1; } return begin + 1; } }