zoukankan      html  css  js  c++  java
  • 剑指Offer(Java版)第三十三题:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。 由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。

    /*
    数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。
    由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
    */

    import java.util.*;

    public class Class33 {

    public int MoreThanHalfNum_Solution(int [] array) {
    int length = array.length;
    int count = 1;
    int index = 0;
    if(array == null || length <= 0){
    return 0;
    }
    for(int i = 1; i < length; i++){
    if(array[index] == array[i]){
    count++;
    }else if(array[index] != array[i]){
    if(count == 0){
    index = i;
    count = 1;
    }else{
    count--;
    }
    }
    }
    count = 0;
    for(int i = 0; i < length; i++){
    if(array[i] == array[index]){
    count++;
    }
    }
    if(count > (length/2)){
    return array[index];
    }else{
    return 0;
    }

    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    }

    }

  • 相关阅读:
    Linux服务器查看日志命令总结
    nginx高可用(5)
    nginx动静分离(4)
    nginx负载均衡(3)
    nginx反向代理(2)
    nginx安装及使用(1)
    Nginx 简易教程
    uiautomator2中文文档
    TKinter之输入框
    nginx解决反向代理session丢失问题
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12513430.html
Copyright © 2011-2022 走看看