首页 > 其他 > 详细

744. Find Smallest Letter Greater Than Target

时间:2021-06-17 17:08:38      阅读:18      评论:0      收藏:0      [点我收藏+]

Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

You must write an algorithm with O(log n) runtime complexity.

 

Example 1:

Input: nums = [1,3,5,6], target = 5
Output: 2

Example 2:

Input: nums = [1,3,5,6], target = 2
Output: 1

Example 3:

Input: nums = [1,3,5,6], target = 7
Output: 4

Example 4:

Input: nums = [1,3,5,6], target = 0
Output: 0

Example 5:

Input: nums = [1], target = 0
Output: 0

 

Constraints:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums contains distinct values sorted in ascending order.
  • -104 <= target <= 104
class Solution {
    public char nextGreatestLetter(char[] letters, char target) {
        //if (letters[0] > target) return letters[0];
        if (letters[letters.length - 1] <= target) return letters[0];
        int l = 0, r = letters.length - 1;
        while(l <= r) {
            int m = l + (r - l) / 2;
            if(letters[m] > target) r = m - 1;
            else l = m + 1;
        }
        return letters[l];
    }
}

 

744. Find Smallest Letter Greater Than Target

原文:https://www.cnblogs.com/wentiliangkaihua/p/14892956.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!