0
点赞
收藏
分享

微信扫一扫

LeetCode-035-搜索插入位置

Sky飞羽 2021-09-28 阅读 33
LeetCode

搜索插入位置

解法一:暴力破解法
解法二:二分查找法
public class LeetCode_035 {
    /**
     * 暴力破解法
     *
     * @param nums
     * @param target
     * @return
     */
    public static int searchInsert(int[] nums, int target) {
        if (nums == null || nums.length == 0) {
            return 0;
        }
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] >= target) {
                return i;
            }
        }
        return nums.length;
    }

    /**
     * 二分查找法
     *
     * @param nums
     * @param target
     * @return
     */
    public static int searchInsert2(int[] nums, int target) {
        if (nums == null || nums.length == 0) {
            return 0;
        }
        int low = 0, high = nums.length - 1, mid, result = nums.length;
        while (low <= high) {
            mid = (low + high) / 2;
            if (nums[mid] >= target) {
                result = mid;
                high = mid - 1;
            } else {
                low = mid + 1;
            }
        }
        return result;
    }

    public static void main(String[] args) {
        int[] nums = new int[]{1, 3, 5, 6};
        System.out.println(searchInsert(nums, 7));
        System.out.println(searchInsert2(nums, 7));
    }
}
举报

相关推荐

0 条评论