在有序数组里找到大于等于target(大于target)的第一个位置

力扣744 寻找比目标字母大的最小字母

给你一个字符数组 letters,该数组按非递减顺序排序,以及一个字符 target。letters 里至少有两个不同的字符。

返回 letters 中大于 target 的最小的字符。如果不存在这样的字符,则返回 letters 的第一个字符。

java 复制代码
class Solution {
    //找到数组里第一个大于target的位置
    public char nextGreatestLetter(char[] letters, char target) {
        int left=0;
        int right=letters.length-1;
        int mid=0;
        while (left<=right){
            mid=(left+right)/2;
            if (letters[mid]<=target){
                left=mid+1;
            }else{
                right=mid-1;
            }
        }
        if (left>=letters.length) return letters[0];
        // return left;
         return letters[right+1];
    }

}

力扣34 在排序数组里查找元素的第一个和最后一个位置

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回 [-1, -1]。

你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

java 复制代码
class Solution {
    public int[] searchRange(int[] nums, int target) {
        int l=lowBound(nums,target);
        //数组里全小于tartget,没有找到8
        if (l==nums.length || nums[l]!=target){
            return new int[]{-1,-1};
        }
        return new int[]{l,lowBound(nums,target+1)-1};
    }

    //找到数组里第一个大于等于target的位置
    public int lowBound(int[] nums,int target){
        int left=0;
        int right=nums.length-1;
        int mid=0;
        while (left<=right){
            mid=(left+right)/2;
            if (nums[mid]<target){
                left=mid+1;
            }else{
                right=mid-1;
            }
        }
        // return left;
         return right+1;
    }
}
相关推荐
季明洵22 分钟前
反转字符串、反转字符串II、反转字符串中的单词
java·数据结构·算法·leetcode·字符串
2401_8414956427 分钟前
【Python高级编程】近似串匹配
python·算法·动态规划·字符串·数组·时间复杂度·空间复杂度
lingggggaaaa31 分钟前
安全工具篇&魔改二开&CheckSum8算法&Beacon密钥&Stager流量&生成机制
学习·算法·安全·web安全·网络安全·免杀对抗
Python+JAVA+大数据33 分钟前
SQL玩出算法竞赛高度!郑凌云数独算法:递归CTE+位运算DFS回溯全解析
数据库·sql·算法·搜索引擎·深度优先·dfs
Hello World . .34 分钟前
数据结构:哈希表(Hash table)
数据结构·vim·哈希算法·散列表
MicroTech202535 分钟前
量子主成分分析(QPCA):微算法科技(NASDAQ :MLGO)重构图像降维与特征提取的技术
科技·算法·重构
历程里程碑38 分钟前
滑动窗口------滑动窗口最大值
大数据·python·算法·elasticsearch·搜索引擎·flask·tornado
Mr_Xuhhh38 分钟前
C语言字符串与内存操作函数模拟实现详解
java·linux·算法
B站_计算机毕业设计之家41 分钟前
AI大模型:Deepseek美食推荐系统 机器学习 协同过滤推荐算法+可视化 Django框架 大数据毕业设计(源码)✅
python·算法·机器学习·数据分析·django·推荐算法·美食
小草cys42 分钟前
基于大模型的图像目标检测及跟踪算法
人工智能·算法·目标检测