Leetcode--169. 求众数

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

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

示例 1:

输入: [3,2,3]
输出: 3
示例 2:

输入: [2,2,1,1,1,2,2]
输出: 2

排序之后遍历一次即可

import java.util.Arrays;

public class Solutino169 {
    public static int majorityElement(int[] nums) {
        int n = nums.length;
        int i,sum=1;
        Arrays.sort(nums, 0, nums.length);
        for(i=0;i<n-1;i++)
        {
            if(nums[i]==nums[i+1])
            {
                sum++;
                if(sum>n/2)
                {
                    return nums[i];
                }
            }
            else
            {
                sum = 1;
            }
        }
        return nums[0];
        
    }
    public static void main(String[] args)
    {
        //int[] nums = {3,2,3};
        int[] nums = {2,2,1,1,1,2,2};
        System.out.println(majorityElement(nums));
    }
}
 

针对上面的代码,可以有一个改进,不论众数是数组中的最大,最小值,或者是中间值

因为他的数量大于总数的一半,因此排序完成后的n/2位置处一定是众数

import java.util.Arrays;

public class Solutino169 {
    public static int majorityElement(int[] nums) {
        Arrays.sort(nums, 0, nums.length);  //两行代码即可完成
        return nums[nums.length/2];

        
    }
    public static void main(String[] args)
    {
        //int[] nums = {3,2,3};
        int[] nums = {2,2,1,1,1,2,2};
        System.out.println(majorityElement(nums));
    }
}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模板引擎工作原理_广州seo了解下搜索引擎的工作原理是什么

一、搜索引擎工作的基本原理搜索引擎是根据以下原则计算的&#xff1a;首先&#xff0c;我们知道在web浏览器、百度浏览器、google浏览器、360浏览器中都配置了不同的搜索引擎。它们都有一个共同点&#xff0c;一开始捕获一个模块&#xff0c;然后这个模块就像一个软件程序一样…

浪潮服务器无线网卡驱动,浪潮服务器网卡驱动安装.doc

文档介绍&#xff1a;蚃服务器安装redhat5.2系统无法识别网卡的情况下肂罿进入linux命令终端界面,使用命令袄蒂[******wapdbrac1~]#kudzu--probe--work膂莀界面上就会显示网卡的型号以及机器上都有几个网卡薆蒅第一步:在网上下载这个网卡型号的linux版本驱动程序节薇第二步:使用…

罗杰·科恩伯格:基础科学——人类进步的希望

论坛 演讲编辑: ∑Gemini来源:数据实战派人物介绍&#xff1a;罗杰科恩伯格&#xff08;Roger Kornberg&#xff09;&#xff0c;世界顶尖科学家协会主席&#xff0c;斯坦福大学温泽医学教授。因对“真核生物转录的分子基础”的研究&#xff0c;获得2006年诺贝尔化学奖。罗杰•…

vue3获取验证码+背景切换

需要安装element-plus组件库 用户获取验证码后按钮会被禁用&#xff0c;等待10秒后重新获取验证码 验证码 元素布局template部分 <template><div><el-button type"success" round :disabled"isSend" click"countDown">{{ c…

Leetcode--19. 删除链表的倒数第N个节点

给定一个链表&#xff0c;删除链表的倒数第 n 个节点&#xff0c;并且返回链表的头结点。 示例&#xff1a; 给定一个链表: 1->2->3->4->5, 和 n 2. 当删除了倒数第二个节点后&#xff0c;链表变为 1->2->3->5. 说明&#xff1a; 给定的 n 保证是有效…

python 几种常用测试框架

测试的常用规则 一个测试单元必须关注一个很小的功能函数&#xff0c;证明它是正确的&#xff1b;每个测试单元必须是完全独立的&#xff0c;必须能单独运行。这样意味着每一个测试方法必须重新加载数据&#xff0c;执行完毕后做一些清理工作。通常通过setUp()和setDown()方法处…

jdbc获取结果行数,如何获取JDBC中的行数?

Ive executed a JDBC query to obtain a resultset. Before iterating over it, Id like to quickly find out how many rows were returned. How can I do this with high performance?Im using Java 6, Oracle 11g, and the latest Oracle JDBC drivers.解决方案Youre going…

服务器系统盘最佳设置,启用系统的硬盘高级性能设置优化硬盘到最佳性能

硬盘性能直接关系到网吧机器的性能&#xff0c;如果是无盘服务器上的硬盘&#xff0c;那更是整个网吧的核心性能。所以一定要好好优化下&#xff0c;下面推荐一个小技巧吧&#xff1a;启用硬盘高级性能 \ 硬件管理器&#xff0c;选一个磁盘&#xff0c;右键属性&#xff0c;上…

ASML 1nm光刻机研究进展:摩尔定律尚未结束

文章来源&#xff1a;Sparrows NEWS、新智元摩尔定律的终点是什么&#xff1f;随着5nm光刻技术的大规模生产和3nm的突破&#xff0c;摩尔定律的终结变得越来越难以捉摸。可以肯定的是&#xff0c;随着过程的进一步改进&#xff0c;其成本将成倍增加。根据日本媒体Mynavi的报道&…

Leetcode--53. 最大子序和

给定一个整数数组 nums &#xff0c;找到一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大&#xff0c;为 6。 进阶: 如果你已经…

redis为什么选择单线程工作模型

1、先说一下为什么出现进程&#xff0c;线程 进程&#xff1a;在计算机发明之初就发现&#xff0c;在输入数据时&#xff08;I/O速度慢&#xff09;&#xff0c;CPU是空闲的&#xff0c;这样就浪费了CPU资源&#xff0c;为了充分利用CPU资源&#xff0c;发明了进程&#xff0c;…

js与c语言效率_JavaScript比c语言的性能差了多少?

我这里先不说和C之间的性能差距&#xff0c;而是展开说JavaScript递归优化问题&#xff0c;有人问我为什么不说性能差距&#xff0c;我&#xff1a;&#xff1f;&#xff1f;&#xff1f;这个问题就跟问地球为什么是圆的一样(明摆着)传统的递归函数&#xff0c;比如:function a…

服务器物理内存总是九十几,Solr总是使用超过90%的物理内存(Solr always use more than 90% of physical memory)...

Solr总是使用超过90&#xff05;的物理内存(Solr always use more than 90% of physical memory)我在solr索引中存储了300000个文档。 并使用4GB RAM作为solr服务器。 但它消耗超过90&#xff05;的物理内存。 所以我把我的数据转移到一台有16 GB RAM的新服务器上。 再次solr消…

​​《自然》2020年十大科学发现出炉:病毒,冷冻电镜与快速射电暴

来源&#xff1a;科研圈作者&#xff1a;陈梦圆、谢一璇、李姗珊、邱燕宁、魏潇科学成就

Http协议--Get和Post区别

1. 请求路径不同 post请求&#xff0c;在url后面不跟上任何的数据 Get请求&#xff0c;在地址后面跟上数据 2. 带上的数据不同&#xff0c;Post请求会使用流的方式写数据。 Get请求是在地址栏上跟数据 3. 由于Post请求使用流的方式写数据&#xff0c; 所以一定需要一个Con…

Hibernate中用到联合主键的使用方法,为何要序列化,为何要重写hashcode 和 equals 方法...

联合主键用Hibernate注解映射方式主要有三种&#xff1a; 第一、将联合主键的字段单独放在一个类中&#xff0c;该类需要实现java.io.Serializable接口并重写equals和hascode&#xff0c;再将该类注解为Embeddable,最后在主类中(该类不包含联合主键类中的字段)保存该联合主键类…

命令行设置dns_dos命令netsh图文教程,设置修改IP地址子网掩码网关命令行改dns...

大家好&#xff0c;我是老盖&#xff0c;首先感谢观看本文&#xff0c;本篇文章做的有视频&#xff0c;视频讲述的比较详细&#xff0c;也可以看我发布的视频。今天我们学习dos命令中的netsh&#xff0c;这个命令是网络命令&#xff0c;它有很多的功能&#xff0c;今天我们用它…

Leetcode--5081. 步进数

如果一个整数上的每一位数字与其相邻位上的数字的绝对差都是 1&#xff0c;那么这个数就是一个「步进数」。 例如&#xff0c;321 是一个步进数&#xff0c;而 421 不是。 给你两个整数&#xff0c;low 和 high&#xff0c;请你找出在 [low, high] 范围内的所有步进数&#x…

文件操作的基本流程

1、读模式 f.read()f.readable()#这个文件是否可读&#xff0c;返回布尔值&#xff1b;f.readline(“读模式”)#读取第一行&#xff1b;f.readlines(“读模式”)#读取所有内容 以字符串方式存储在列表内&#xff1b; f open(小重山,r,encodingutf-8) #第一个参数是文件位置&am…

第三代人工智能基础设施背后,是一次技术应用的常识普及运动

来源&#xff1a;脑极体买了新电脑和手机&#xff0c;你会提前安装好杀毒或安全软件&#xff0c;还是等被黑客攻破了才悔之晚矣&#xff1f;处理传染病疫情&#xff0c;是从源头释放药物和疫苗&#xff0c;还是坐等医院的患者超过治疗和处理能力&#xff1f;面对危机舆情&#…