zoukankan      html  css  js  c++  java
  • 1399. 统计最大组的数目

     

     

     

     

     代码一:用两个list

     1 class Solution(object):
     2     # 用两个list
     3     def countLargestGroup(self, n):
     4         """
     5         :type n: int
     6         :rtype: int
     7         """
     8         # 存放不同的数位和
     9         listkey = []
    10         # 统计各个数位和的个数
    11         listvalue = []
    12         for i in range(1, n + 1):
    13             # 存放数位和
    14             sumeve = 0
    15             temp = i
    16             # 计算每个数十进制的数位和
    17             while temp > 0:
    18                 sumeve += temp % 10
    19                 temp = int(temp / 10)
    20             # 若该数的数位和没出现过,则新增到listkey中,listvalue对应的计数置为1
    21             if sumeve not in listkey:
    22                 listkey.append(sumeve)
    23                 listvalue.append(1)
    24             # 若该数位和出现过,则在listkey中取得对应下标,在listvalue对应的计数加1
    25             else:
    26                 listvalue[listkey.index(sumeve)] += 1
    27         # 统计并列最多的组
    28         res = 0
    29         for ch in listvalue:
    30             if ch == max(listvalue):
    31                 res += 1
    32         return res

    代码二:用字典

     1 class Solution(object):
     2     # 用字典
     3     def countLargestGroup(self, n):
     4         """
     5         :type n: int
     6         :rtype: int
     7         """
     8         # 统计各个数位和(key)及其个数(value)
     9         dict = {}
    10         for i in range(1, n + 1):
    11             # 存放数位和
    12             sumeve = 0
    13             temp = i
    14             # 计算每个数十进制的数位和
    15             while temp > 0:
    16                 sumeve += temp % 10
    17                 temp = int(temp / 10)
    18             # 若该数的数位和没出现过,则新增到字典中
    19             if sumeve not in dict.keys():
    20                 dict[sumeve] = 1
    21             # 若该数位和出现过,则字典中value加1
    22             else:
    23                 dict[sumeve] += 1
    24         # 统计并列最多的组
    25         res = 0
    26         for ch in dict.values():
    27             if ch == max(dict.values()):
    28                 res += 1
    29         return res
  • 相关阅读:
    一个简短的yahoo YUI介绍
    备忘录
    海量数据库查询
    asp.net webshell 解决 方案
    IE=EmulateIE7 标签的作用
    WINDOWS 2003 IIS网站防木马权限设置安全配置整理
    C语言各种函数
    虚函数的各种情况
    equals与==关于Object覆盖和重载问题
    类型转换函数转换为构造类型
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12800496.html
Copyright © 2011-2022 走看看