博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试题29-数组中出现次数超过一半的值
阅读量:6704 次
发布时间:2019-06-25

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

 
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Fri Mar  3 20:07:11 2017
  4. @author: zzpp220
  5. """
  6. class Morethanhalf:
  7.    def findhalf(self,lst):
  8.        if not lst:
  9.            return None
  10.        
  11.        dict={}
  12.        half=[]        
  13.        for i in lst:
  14.            dict[i]=lst.count(i)
  15.        half=[k for k ,v in dict.iteritems() if v >=len(lst)//2]
  16.        return half
  17.        
  18.    def CheckMoreThanHalf(self, numbers, length, number):
  19.        times = 0
  20.        for i in range(length):
  21.            if numbers[i] == number:
  22.                times += 1
  23.        if times*2 <= length:
  24.            return False
  25.        return True
  26.        
  27.    def MoreThanHalfNum(self, numbers):
  28.        
  29.        if numbers == None :
  30.            return 0
  31.        length = len(numbers)    
  32.        result = numbers[0]
  33.        times = 1
  34.        for i in range(1, length):
  35.            if times == 0:
  36.                result = numbers[i]
  37.                times = 1
  38.            elif numbers[i] == result:
  39.                times += 1
  40.            else:
  41.                times -= 1
  42.        if not self.CheckMoreThanHalf(numbers, length, result):
  43.            result = 0
  44.        return result
  45. solution=Morethanhalf()
  46. lst=None#[1]#[1,2,6,14,4,4,3]
  47. print solution.findhalf(lst)
  48. print solution.MoreThanHalfNum(lst)

附件列表

 

转载于:https://www.cnblogs.com/zzxx-myblog/p/6498554.html

你可能感兴趣的文章
电脑上卸载软件的残留文件怎么清理?
查看>>
Android 初始化Menu item的值(ActionBar篇)
查看>>
Facebook和Google服务全球大瘫痪,网友:全世界只剩下推特 ...
查看>>
不让「数据孤岛」成为 AI 发展的绊脚石,「联邦学习」将成突破口? ...
查看>>
阿里云大数据ACP认证知识点梳理9——产品特点(DATA WORKS) ...
查看>>
首发 | 完成近亿美元B轮融资,黑芝麻如何成为自动驾驶芯片破局者?
查看>>
AI通过儿童眼球运动,筛查胎儿酒精谱系障碍
查看>>
【资料下载】Python第四讲——使用IPython/Jupyter Notebook与日志服务玩转超大规模数据分析与可视化...
查看>>
用不到 30 行 Python 代码实现 YOLO
查看>>
云HBase备份恢复,为云HBase数据安全保驾护航
查看>>
Ubuntu16.04上通过kubeadm安装指定版本Kubernetes1.9.0
查看>>
Intellij IDEA Jrebel Plugin 激活服务
查看>>
用Mockplus教你使用属性面板的设置交互状态
查看>>
让旧手机运行 Android O? 看看 Android Go 是如何做到的
查看>>
Zabbix SNMP监控安装、配置与服务器实例(学习笔记六)
查看>>
CocoaPods 1.7.0 Beta 发布,Xcode 依赖库管理
查看>>
学习讲述
查看>>
一个优秀的CQRS框架Reveno
查看>>
GoLang并发控制(下)
查看>>
Ansible window自动化运维手册*
查看>>