zoukankan      html  css  js  c++  java
  • 28.数组中出现次数超过长度一半的数字(python)

    题目描述

    数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
     1 class Solution:
     2     def MoreThanHalfNum_Solution(self, numbers):
     3         # write code here
     4         if len(numbers)==1:
     5             return numbers[0]
     6         nums = sorted(numbers)
     7         len_half = len(nums)//2
     8         count = 1
     9         i = 0
    10         while i < len(nums)-1:
    11             if nums[i]==nums[i+1]:
    12                 count+=1
    13             if len_half<count:
    14                 return nums[i]
    15             if nums[i]!=nums[i+1]:
    16                 count=1
    17             i+=1
    18         return 0
  • 相关阅读:
    第三次冲刺
    第二次冲刺
    第一次冲刺
    团队学习
    git and github
    还不够格的程序员
    CF1602F. Difficult Mountain
    线性基
    欧拉回路学习笔记
    莫比乌斯反演-学习笔记
  • 原文地址:https://www.cnblogs.com/NPC-assange/p/12066505.html
Copyright © 2011-2022 走看看