【Leetcode】35. Search Insert Position

题目地址:

https://leetcode.com/problems/search-insert-position/

题意可以理解为,找到数组中从左往右第一个大于等于target的数。如果没找到,就返回数组长度。可以用二分法。代码如下:

public class Solution {
    public int searchInsert(int[] nums, int target) {
        if (nums == null || nums.length == 0) {
            return 0;
        }
        
        int l = 0, r = nums.length - 1;
        while (l < r) {
            int mid = l + ((r - l) >> 1);
            if (nums[mid] < target) {
                l = mid + 1;
            } else {
                r = mid;
            }
        }
        
        if (nums[l] >= target) {
            return l;
        } else {
            return l + 1;
        }
    }
}

时间复杂度O(logn)O(\log n)

发布了112 篇原创文章 · 获赞 0 · 访问量 3279
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览