LeetCode 2529.正整数和负整数的最大计数

题目 :给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。

  • 换句话讲,如果 nums 中正整数的数目是 pos ,而负整数的数目是 neg ,返回 posneg二者中的最大值。

注意: 0 既不是正整数也不是负整数。

思路:灵神 闭区间写法,>= > < <=转化

代码

java 复制代码
class Solution {
    public int maximumCount(int[] nums) {
        int posi  = lowerBound(nums, 1);
        int nega = lowerBound(nums, 0) - 1;
        return Math.max(nega + 1, nums.length - posi);
    }

    private int lowerBound(int[] nums, int target) {
        int left = 0, right = nums.length - 1;
        while (left <= right) {
            int mid = left + (right - left) / 2;
            if (nums[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        return left;
    }
}

性能

时间复杂度o(logn)

空间复杂度o(1)

相关推荐
魔芋红茶几秒前
Netty 简易指南
java·开发语言·netty
fab 在逃TDPIE7 分钟前
Sentaurus TCAD 仿真教程(十)
算法
大学生资源网20 分钟前
基于springboot的万亩助农网站的设计与实现源代码(源码+文档)
java·spring boot·后端·mysql·毕业设计·源码
小严家22 分钟前
Java基础教程大全完整学习路径
java·开发语言·学习
毕设源码-朱学姐22 分钟前
【开题答辩全过程】以 基于Java的电影推荐系统为例,包含答辩的问题和答案
java·开发语言
天赐学c语言26 分钟前
12.19 - 买卖股票的最佳时机 && const的作用
c++·算法·leecode
sheji341628 分钟前
【开题答辩全过程】以 基于SSM的校园新冠疫苗接种信息管理系统为例,包含答辩的问题和答案
java·开发语言
菜鸟233号29 分钟前
力扣78 子集 java实现
java·数据结构·算法·leetcode
yesyesyoucan32 分钟前
在线魔方解谜站:从零入门到精通的智能魔方学习平台
学习·算法
Han.miracle33 分钟前
数据结构与算法--008四数之和 与经典子数组 / 子串问题解析
数据结构·算法