首页 > 其他分享 >2529. 正整数和负整数的最大计数

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

时间:2024-09-09 21:25:44浏览次数:10  
标签:index right 正整数 nums neg 2529 计数 zero left

题目链接 2529. 正整数和负整数的最大计数
思路 二分法
题解链接 标准库调用
关键点 0的处理
时间复杂度 \(O(\log n)\)
空间复杂度 \(O(1)\)

代码实现:

class Solution:
    def maximumCount(self, nums: List[int]) -> int:
        def lower_bound(val):
            left, right = -1, len(nums)
            while left + 1 < right:
                mid = (left+right) // 2
                if nums[mid] < val:
                    left = mid
                else:
                    right = mid
            return right
        zero_index = lower_bound(0)
        n_neg = zero_index
        while n_neg > 1 and nums[n_neg-1] == 0:
            n_neg -= 1
        ori_zero_index = zero_index
        while zero_index < len(nums) and nums[zero_index] == 0:
            zero_index += 1
        n_pos = len(nums) - zero_index
        return max(n_neg, n_pos)
Python-标准库
class Solution:
    def maximumCount(self, nums: List[int]) -> int:
        left, right = bisect_left(nums, 0), bisect_right(nums, 0)
        return max(0, left, len(nums)-right)

标签:index,right,正整数,nums,neg,2529,计数,zero,left
From: https://www.cnblogs.com/WrRan/p/18405361

相关文章

  • 计数器 CountDownLatch
    CountDownLatchSemaphore更加适合用于控制对有限资源的访问,特别是当你需要允许一定数量的线程同时访问资源时CountDownLatch更加适合用于协调多个线程的完成状态,确保在某些操作完成后再执行后续操作它用于协调多个线程的执行,使得某些操作必须等到其他操作完成后才能继续进行,......
  • 循环计数器/循环栅栏/循环屏障 CyclicBarrier
    CyclicBarrier和CountDownLatch有点类似,主要区别是CyclicBarrier可以重用,常用方法如下:CyclicBarrierbarrier=newCyclicBarrier(3);//表示条件为:要有3个线程达到屏障(未指定屏障动作)barrier.await();//如果没有3个线程到达屏障,当前线程就阻塞,直到有3个线程达到......
  • 2024-09-04:用go语言,给定一个长度为n的数组 happiness,表示每个孩子的幸福值,以及一个正
    2024-09-04:用go语言,给定一个长度为n的数组happiness,表示每个孩子的幸福值,以及一个正整数k,我们需要从这n个孩子中选出k个孩子。在筛选过程中,每轮选择一个孩子时,所有尚未选中的孩子的幸福值都会减少1。需要注意的是,幸福值不能降低到负数,只有在其为正数时才能减少。我们的目标是......
  • OpenCV与AI深度学习 | 实战 | OpenCV传统方法实现密集圆形分割与计数(详细步骤 + 代码
    本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。原文链接:实战|OpenCV传统方法实现密集圆形分割与计数(详细步骤+代码)导 读    本文主要介绍基于OpenCV传统方法实现密集圆形分割与计数应用,并给详细步骤和代码。 背景介绍  实例图片来......
  • SMART PLC高速计数器频率测量功能块(脉冲频率测量功能块)
    PTO和高速计数器组合实验请参考下面文章链接:SMARTPLC脉冲输出指令PLS应用(PTO和高速计数器组合实验)-CSDN博客文章浏览阅读56次。200SMARTPLC如何实现可调频率可调占空比PWM输出200smart_PLC如何实现可调频率可调占空比PWM输出_200smartpwm-CSDN博客本文介绍了如何在SMART......
  • 使用 ...new Set 在 filtred 数组中添加计数重复值
    你可以使用newSet和filter方法来计算数组中重复值的数量。以下是一个示例代码:constarr=[1,2,2,3,3,3,4,4,4,4];constfilteredArr=arr.filter((item,index,self)=>self.indexOf(item)===index);constset=newSet(filteredArr);constcount=fil......
  • AI健身教练-引体向上-俯卧撑计数代码-仰卧起坐姿态估计-康复训练姿态识别-姿态矫正(附
    在AI健身应用中,通过关键点检测技术可以实现对用户动作的精准捕捉和分析,从而进行统计计数和规范性姿态识别。统计计数:比如在做瑜伽、健身操等运动时,系统可以通过对人体关键点(如手部、脚部、关节等)的实时追踪,精确计算用户的动作次数。例如,在做深蹲或俯卧撑时,系统能通过检测髋......
  • LOJ #6089. 小 Y 的背包计数问题 题解
    Description小Y有一个大小为\(n\)的背包,并且小Y有\(n\)种物品。对于第\(i\)种物品,共有\(i\)个可以使用,并且对于每一个\(i\)物品,体积均为\(i\)。求小Y把该背包装满的方案数为多少,答案对于\(23333333\)取模。定义两种不同的方案为:当且仅当至少存在一种物品的......
  • 最优化与计数
    动态规划:可以认为由状态,转移两个过程构成树上优化技巧P1272重建道路设,dp[i][j]为包含i的大小为j的连通块的最小操作次数,枚举i的每个子树一个个合并上去。考虑两个点i,j只会在lca处有计算时间贡献,所以是\(O(n^2)\)的LOJ160.树形背包先跑dfs序,设dp[i][w]为从第i个位置开始......
  • LeetCode-Python-1539. 第 k 个缺失的正整数(二分)
    给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。请你找到这个数组里第 k 个缺失的正整数。示例1:输入:arr=[2,3,4,7,11],k=5输出:9解释:缺失的正整数包括[1,5,6,8,9,10,12,13,...]。第5个缺失的正整数为9。示例2:输入:arr=[1,2,3,4],k=2......