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));
}
}
Leetcode--169. 求众数相关推荐
- LeetCode 169. 求众数(摩尔投票)
文章目录 1. 题目信息 2. 解题思路 3. 代码 3.1 排序 3.2 map计数 3.3 摩尔投票 1. 题目信息 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ ...
- Leetcode:169. 求众数
题目链接 求众数 题目描述 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: ...
- leetcode.169 求众数
给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. // 示例1 输入: [3,2,3] 输出: ...
- Leetcode 169. 求众数 解题思路及C++实现
解题思路: 因为int型数值只有32位,使用位运算的方法来解这道题时,就是要确定这个众数,在32位的位置上分别是0还是1. 由题意,因为众数的个数超过n/2,所以遍历数组nums后,如果某一位置上1的 ...
- LeetCode 169.求众数
题目描述: 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3,2,3] ...
- java求众数_Java实现 LeetCode 229 求众数 II(二)
229. 求众数 II 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素. 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1). 示例 1: 输入: [3,2, ...
- LeetCode 229. 求众数 II(摩尔投票)
1. 题目 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素. 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1). 示例 1: 输入: [3,2,3] 输出: ...
- 领扣问题169. 求众数 python解决方案
欢迎和我一起学习啊! 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3 ...
- [leetcode]229. 求众数 II
解题思路:题目要求空间复杂度为O(1) 大于1/3的数不会超过2个,利用Boyer-Moore 投票算法找到数量最多的两个数,再检查下这俩个数的数量有没有超过1/3 class Solution {p ...
- Task8(简单)位运算:169.求众数
class Solution: def majorityElement(self, nums): majority_count = len(nums)//2 for num in nums: coun ...
最新文章
- MSBuild + MSILInect实现编译时AOP-改变前后对比
- 9月份准备备考RHCE 10份考试争取一次通过
- 【Android 异步操作】AsyncTask 异步任务 ( FutureTask 模拟 AsyncTask 执行过程 | AsyncTask 执行过程回顾 | FutureTask 分析 )
- 【Qt】2D绘图之复合模式
- 自学Android!Android高级工程师面试题-字节跳动,附答案
- 接计算机专业怎样备考,专接本考试计算机专业复习指南.pdf
- python gevent async_详解python之协程gevent模块
- 【Rollo的Python之路】Python 爬虫系统学习 (二) Requests 模块学习
- linux添加swap分区【转】
- Android使用拖拽控件来布局界面并展示
- 实对称矩阵的特征值求法_MIT—微分方程与线性代数笔记6.5 对称矩阵,实特征值,正交特征向量...
- OpenNLP 自然语言处理工具
- 虚拟机 服务器死机,VMware虚拟机开机卡死黑屏,进不了系统解决办法
- macos系统升级到big sur以后safari浏览器崩溃怎么办?
- webpack stats
- 用python画圆锥_用python画一幅美瞳,今日份来自程序员的浪漫
- Android和IOS mumu模拟器 正确安装与设置机型
- 佐客牛排机器人餐厅_2018年中国最火的三家餐厅!秘密竟是机器人服务员?
- H5游戏开发-面向对象编程
- error: resource android:style/TextAppearance.Material.Widget.Button.Colored not found. 解决办法
热门文章
- 程序员面试金典 - 面试题 05.07. 配对交换(位运算)
- 程序员面试金典 - 面试题 02.08. 环路检测(快慢指针)
- 谷歌插件开发ajax请求,chrome插件 注入js以及发送ajax(message/request)
- android monkey压力测试,Android-Monkey 压力测试
- php 正则 尖括号,php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串...
- linux视频在windows播放器,适用于Windows和Linux的免费多媒体播放器SMPlayer 18.6.0发布 - 爱绿豆...
- 在深度学习顶会ICLR 2020上,Transformer模型有什么新进展?
- Docker系列之二:基于容器的自动构建
- 解读 | 滴滴主题研究计划:机器学习专题+
- 论文学习2-Incorporating Graph Attention Mechanism into Knowledge Graph Reasoning Based on Deep Reinforce