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

解题--多数元素

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例 1:

输入:nums = [3,2,3]
输出:3

此算法用到了一个很重要的算法--摩尔投票算法,详细参见--一篇搞懂面试高频算法--摩尔投票算法-CSDN博客

知道这个概念后,就可以得到以下解题过程:

class Solution {
    public int majorityElement(int[] nums) {
       int out=nums[0];//从0开始匹配(本质选谁都行)
       int count=1; //从1开始计数
       for(int i=1;i<nums.length;i++){ //由于out从0开始匹配,所以这里从1开始
            if(out==nums[i]){
                count++;
            }else{
                  if(count==0){
                    out=nums[i];
                    count=1;
                }
                count--;
            }
           
       }

         return out;
        
      }
        
    
}


http://www.kler.cn/a/386617.html

相关文章:

  • 一文说清libc、glibc、glib的发展和关系
  • vue3: ref, reactive, readonly, shallowReactive
  • C/C++语言基础--C++模板与元编程系列六,C++元编程相关库的讲解与使用
  • A029-基于Spring Boot的物流管理系统的设计与实现
  • 研究生如何远控实验室电脑?远程办公功能使用教程
  • 初级数据结构——栈
  • Oracle RAC的thread
  • unity实习生面试
  • vite+vue项目创建流程;npm error enoent Could not read package.json异常报错问题
  • 表格全量数据下载(FileSaver和xlsx)
  • Mysql基础 03 pymysql库、事务命令
  • 多个NVR同时管理EasyNVR多品牌NVR管理工具/设备:IP常见问题解决方案
  • Ubuntu 安装yum遇坑
  • Android 重新定义一个广播修改系统时间,避免系统时间混乱
  • Redis 的线程模型
  • 【卷积基础】CNN中一些常见卷积(1*1卷积、膨胀卷积、组卷积、深度可分离卷积)
  • 快速学习Django框架以开发Web API
  • Django 框架:全方位技术分析
  • Linux如何更优质调节系统性能
  • 【网络安全 | 并发问题】Nginx重试机制与幂等性问题分析
  • 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
  • 论文阅读-Event-based Visible and Infrared Fusion via Multi-task Collaboration
  • 机器学习,生成式AI ,LLM大模型,人工智能,他们之间的关系是什么?有什么不同?
  • uni-app 实现自定义底部导航
  • 数据库的使用02:SQLServer的连接字符串、备份、还原、SQL监视相关设置
  • 算法训练(leetcode)二刷第二十天 | 93. 复原 IP 地址、78. 子集、90. 子集 II