博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Leetcode】169. Majority Element
阅读量:4968 次
发布时间:2019-06-12

本文共 1167 字,大约阅读时间需要 3 分钟。

Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

You may assume that the array is non-empty and the majority element always exist in the array.

Tips:给定一个大小为n的数组,找到数组中出现次数大于n/2的数字。

思路:解法一:将数组排序后,位于n/2位置的数字就是大于半数的数字。

package easy;import java.util.Arrays;import java.util.Collections;public class L169MajorityElement {         public int majorityElement(int[] nums) {         int len=nums.length;         int low=0;         int high=len-1;         int mid=low+(high-low)/2;         Arrays.sort(nums);         int bignum=nums[mid];         return bignum;                    }     public static void main(String[] args) {        L169MajorityElement l169 = new L169MajorityElement();        int[] nums={1,2,2,2,2,3};        int bignum=l169.majorityElement(nums);        System.out.println(bignum);    }}

 解法二:按顺序遍历数组,第后一个数字等于前一个数字,count++.否则count--;

当count=0时,就需要更换数字。

public int majorityElement2(int[] nums) {         int major=nums.length/2;         int first=0;int count=1;         for(int i=1;i
=major?nums[first]:0; }

 

转载于:https://www.cnblogs.com/yumiaomiao/p/8426030.html

你可能感兴趣的文章
optionMenu-普通菜单使用
查看>>
2016-2017-2点集拓扑作业[本科生上课时]讲解视频
查看>>
appium(13)- server config
查看>>
IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR...
查看>>
管理信息系统 第三部分 作业
查看>>
[Leetcode Week13]Search a 2D Matrix
查看>>
查看端口占用cmd命令
查看>>
2019.01.17王苛震作业
查看>>
清除浮动
查看>>
PayPal(贝宝)支付接口、文档、IPN
查看>>
ORACLE 10G R2_执行计划中cost cardinality bytes cpu_cost io_cost解释
查看>>
本地存储
查看>>
MP3的播放与停止
查看>>
牛客(59)按之字形顺序打印二叉树
查看>>
JavaScript 图表库 xCharts
查看>>
Android项目的目录结构
查看>>
C++中“引用”的底层实现
查看>>
Spring Cloud与微服务构建:微服务简介
查看>>
Babel 是干什么的
查看>>
20180418小测
查看>>