搜索插入位置
搜索插入位置

class Solution {
    public int searchInsert(int[] nums, int target) {
        //数组长度
        int length = nums.length;
        // 如果比最小的元素小,返回0
        int min = nums[0];
        if(target < min){
            return 0;
        }
        // 如果比最大的元素大,返回数组长度
        int max = nums[length-1];        
        if(target > max){
            return length;
        }
        // 如果有和数组中某个元素相等,则返回元素下标
        for(int i = 0;i<length;i++){
            if(nums[i] == target){
                return i;
            }
        }
        
        //使用ArrayList将目标值添加进来
        ArrayList<Integer> list = new ArrayList<>();
        for(int i = 0;i<length;i++){
            list.add(nums[i]);
        }
        list.add(target);
        //排序
        Collections.sort(list);
        //返回目标值下标
        return list.indexOf(target);
    }
}

相关文章: