想使用哈希表存元素个数想起来defaultdict

dict和defaultdic的区别

访问不存在的键:

dict:当访问不存在的键时,会抛出KeyError异常。

defaultdict:当访问不存在的键时,会调用工厂函数返回一个默认值。

fruits = {"apple": 2, "banana": 1}
print(fruits["orange"]) # KeyError: 'orange' fruit_count = defaultdict(int)
print(fruit_count["orange"]) # 输出:0

初始化默认值:

dict:需要手动为每个键设置初始值,例如使用setdefault方法。

defaultdict:在创建时通过工厂函数一次性设置所有键的初始值。

fruits = {}
fruits.setdefault("apple", 0)
fruits.setdefault("banana", 0) fruit_count = defaultdict(int)

示例题目

https://www.lanqiao.cn/problems/3527/learning/



Ai!的累加结果,A1! + A2! + ... + An!,A1 < A2 < ... < An,则A1!为最大公因数

考虑阶乘的合并情况:有(x+1) * y个x!,能合并为y个(x+1)!。即合成条件为x!的个数为x+1的倍数

使用map存储某个数x的阶乘出现的次数,若达到一定次数,则转换为x+1的阶乘

from collections import defaultdict
n = int(input())
a = list(map(int, input().split()))
a.sort()
Map = defaultdict(int) for x in a:
Map[x] += 1 x = a[0]
while True:
cnt = Map[x]
if cnt % (x + 1) == 0:
Map[x + 1] += cnt // (x + 1)
x += 1
else:
print(x)
break

算法题技巧-Python collections.defaultdict的更多相关文章

  1. python collections defaultdict

    class_counts  = defaultdict(int) 一.关于defaultdict 在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collect ...

  2. Python collections.defaultdict 笔记

    其实defaultdict 就是一个字典,只不过python自动的为它的键赋了一个初始值.这也就是说,你不显示的为字典的键赋初值python不会报错,看下实际例子. 比如你想计算频率 frequenc ...

  3. Python collections.defaultdict() 与 dict的使用和区别

    看样子这个文档是难以看懂了.直接看示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import collections s = [('yellow', ...

  4. 一道算法题,引出collections.Counter的特殊用法

    题目描述: 题目编号:1002. 查找常用字符 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表.例如,如果一个字符在每个字符串中出现 3 次, ...

  5. python算法常用技巧与内置库

    python算法常用技巧与内置库 近些年随着python的越来越火,python也渐渐成为了很多程序员的喜爱.许多程序员已经开始使用python作为第一语言来刷题. 最近我在用python刷题的时候想 ...

  6. 简单的算法题, Find Minimum in Rotated Sorted Array 的Python实现。

    简单的算法题, Find Minimum in Rotated Sorted Array 的Python实现. 题目: Suppose a sorted array is rotated at som ...

  7. python算法题

    python几道简单的算法题   最近看了python的语法,但是总感觉不知道怎么使用它,还是先来敲敲一些简单的程序吧. 1.题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都 ...

  8. Python: dict setdault函数与collections.defaultdict()的区别

    setdault用法 >>>dd={'hy':1,'hx':2} >>>cc=dd.setdefault('hz',1) >>>cc      返 ...

  9. (转)Python 3 collections.defaultdict() 与 dict的使用和区别

    原文:https://www.cnblogs.com/herbert/archive/2013/01/09/2852843.html 在Python里面有一个模块collections,解释是数据类型 ...

  10. python collections module's defaultdict

    Collections is a high-performance container datatypes. defaultdict objects class collections.default ...

随机推荐

  1. 记一次burp抓不到包的排查与处理

    ​ 一次遇到了burp上奇怪的bug.访问某个页面显示 No response received from remote server , ​ 但是使用 yakit 进行抓包之后发现网站可以正常抓包 ...

  2. 异常分析 JedisConnectionException: java.net.SocketTimeoutException: Read timed out

    问题描述   测试Redis分布式锁的时候,如果一次执行大量数据,系统会报出如下异常: JedisConnectionException: java.net.SocketTimeoutExceptio ...

  3. 「Log」2023.8.17 小记

    序幕 早上到校先摆,然后开调代码. 大分块对拍调调调. 学长开始讲平衡树. 平衡树平衡树平衡树! 学完了,点午饭吃午饭. 学主席树. 主席树主席树主席树! 学完了点晚饭吃完饭. 用 chatGPT 写 ...

  4. 前端WebSocket的方法封装

    一.封装方法 在项目根目录src下的utils中新增webSocketManager.js封装文件,代码内容如下: // webSocketManager.js /** WebSocketMessen ...

  5. 故障诊断:ASM莫名出现GC等待事件、ADG的MRP进程HANG住

    我们的文章会在微信公众号Oracle恢复实录和博客网站同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳. ASM环境中有G ...

  6. 构建RPM之SPEC详解

    一.简单说明 在centos/rhel的系统使用中,我们会涉及自己构建一些rpm包在centos/rhel的系统中进行安装,这里涉及rpm打包环境的部署.SPEC文件的编写相关,下面我们具体进行说明. ...

  7. 千呼万唤始出来 —— OB 全文索引能力史诗级增强

    首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 "老纪的技术唠嗑局",会持续更新和 OceanBase 相关的各种技术内容.欢迎感兴趣的朋友们关注! 背景(What ...

  8. ArkUI-X资源分类与访问

    应用开发过程中,经常需要用到颜色.字体.间距.图片等资源,在不同的设备或配置中,这些资源的值可能不同. 应用资源:借助资源文件能力,开发者在应用中自定义资源,自行管理这些资源在不同的设备或配置中的表现 ...

  9. Centos设置Redis自启动(Systemd)

    前言 在生产环境中,我们在设置Redis服务自启动时有多种方式,这里采用Systemd管理方式进行设置Redis, Systemd管理起centos7版本中使用了systemd,systemd同时兼容 ...

  10. How to execute selenuim + cucumber automation