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
  • 相关阅读:
    查看eclipse web项目中jsp编译后的servlet源文件【转】【JSP】
    综合实战--文件上传系统【JDBC&IO&Socket】
    002、使用webpack的各种loader处理文件
    001、node & webpack工程手动搭建
    000、GO之特别语法糖
    000、GO之深刻理解拷贝
    000、常见算法解析
    003、GO之并发
    002、GO之反射
    001、GO之指针转换
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12800496.html
Copyright © 2011-2022 走看看