当前位置: 首页 > news >正文

【Leetcode 热题 100】1287. 有序数组中出现次数超过25%的元素

问题背景

给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25 % 25\% 25%
请你找到并返回这个整数。

数据约束

  • 1 ≤ a r r . l e n g t h ≤ 1 0 4 1 \le arr.length \le 10 ^ 4 1arr.length104
  • 0 ≤ a r r [ i ] ≤ 1 0 5 0 \le arr[i] \le 10 ^ 5 0arr[i]105

解题过程

自己做的时候是用哈希表统计次数的,因为没有额外要求,还算符合题意。
看了 灵神的分析 发现能用二分查找实现,确实很巧妙。

具体实现

class Solution {
    public int findSpecialInteger(int[] arr) {
        int n = arr.length / 4;
        for (int i : new int[]{n, 2 * n + 1}) {
            int cur = arr[i];
            if (binarySearch(arr, cur + 1) - binarySearch(arr, cur) > n) {
                return cur;
            }
        }
        return arr[3 * n + 2];
    }

    private int binarySearch(int[] nums, int target) {
        int left = 0;
        int right = nums.length;
        while (left < right) {
            int mid = left + ((right - left) >>> 1);
            if (nums[mid] < target) {
                left = mid + 1;
            } else {
                right = mid;
            }
        }
        return left;
    }
}
http://www.dtcms.com/a/23234.html

相关文章:

  • 利用雪花算法+Redis 自增 ID,生成订单号
  • java练习(28)
  • Java 大视界 -- 开源社区对 Java 大数据发展的推动与贡献(91)
  • AWS 前端自动化部署流程指南
  • Leetcode 526 Beautiful number
  • 用自己的数据训练yolov11目标检测
  • HTTP 响应头信息
  • Selenium+Pytest自动化测试框架实战
  • ad原理图元件透明问题
  • WWW 2025 | 中南、微软提出端到端双重动态推荐模型,释放LLM在序列推荐中的潜力...
  • 开源模型应用落地-LangGraph101-探索 LangGraph 短期记忆
  • 基于YOLO11深度学习的胃肠道息肉智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
  • Java 基于SpringBoot+Vue 的旅游网站信息化管理系统设计与实现
  • JavaScript的诞生与进化
  • jetson orin nano super AI模型部署之路(一)deepseek r1模型部署
  • 【ProtoBuf】文件编写及序列化
  • C语言实现的常见排序算法
  • AI与大数据:双剑合璧的智能革命
  • 【学习资源】时间序列数据分析方法(2)-mWDN和AutoEncoder
  • 通过BingAPI爬取Bing半个月内壁纸
  • 基于Unity引擎的网络通信架构深度解析——以NetworkConnectionController为例
  • pdf-extract-kit paddle paddleocr pdf2markdown.py(效果不佳)
  • Spring Boot项目开发常见问题及解决方案(上)
  • Java数据结构——Map和Set
  • 【C++项目】Rpc通信框架设计
  • Dest1ny漏洞库: 美团代付微信小程序系统任意文件读取漏洞
  • Linux相关概念和易错知识点(28)(线程控制、Linux下线程的底层)
  • unity学习46:反向动力学IK
  • 《Operating System Concepts》阅读笔记:p17-p25
  • 碰一碰发视频@技术原理与实现开发步骤