Python 06 Set
Python 实例教程
- Python 实例教学_ 06_集合
- 第二十八课
- [2351. 第一个出现两次的字母](https://leetcode.cn/problems/first-letter-to-appear-twice/)
- [217. 存在重复元素](https://leetcode.cn/problems/contains-duplicate/)
- [219. 存在重复元素 II](https://leetcode-cn.com/problems/contains-duplicate-ii/)
- 第二十九课
- [268. 丢失的数字](https://leetcode.cn/problems/missing-number/)
- [929. 独特的电子邮件地址](https://leetcode.cn/problems/unique-email-addresses/)
- [2215. 找出两数组的不同](https://leetcode.cn/problems/find-the-difference-of-two-arrays/)
- 第三十课
- [575. 分糖果](https://leetcode.cn/problems/distribute-candies/)
- [1684. 统计一致字符串的数目](https://leetcode.cn/problems/count-the-number-of-consistent-strings/)
- [2460. 对数组执行操作](https://leetcode.cn/problems/apply-operations-to-an-array/)
- [1710. 卡车上的最大单元数](https://leetcode.cn/problems/maximum-units-on-a-truck/)
Python 实例教学_ 06_集合
Python 1-19 集合
第二十八课
2351. 第一个出现两次的字母
class Solution:def repeatedCharacter(self, s: str) -> str:st = set()for c in s:if c in st: return cst.add(c)
217. 存在重复元素
class Solution:def containsDuplicate(self, nums: List[int]) -> bool:d = defaultdict(int)for x in nums:if x in d:return Trued[x] += 1return Falses = set()for x in nums:if x in s:return Trues.add(x)return Falsereturn len(set(nums)) != len(nums)
219. 存在重复元素 II
class Solution:def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:# 1、双 for 超时# n = len(nums)# for i in range(n):# for j in range(i + 1, n):# if nums[i] == nums[j] and j - i <= k:# return True# return False# 2、dictd = defaultdict(int)for i, x in enumerate(nums):if x in d and i - d[x] <= k: return Trued[x] = ireturn False# 3、sets, left = set(), 0# for i, x in enumerate(nums):for x in nums:if x in s: return Trues.add(x)# if len(s) > k: s.remove(nums[i - k])if len(s) > k: s.remove(nums[left])left += 1 return False
第二十九课
268. 丢失的数字
class Solution:def missingNumber(self, nums: List[int]) -> int:## 方法一:排序# n = len(nums)# nums.sort()# for i in range(n):# if nums[i] != i:# return i# return n## 方法二:哈希表# hash = set(nums)# for i in range(len(nums) + 1):# if i not in hash:# return i## 方法三:差# return sum(range(len(nums) + 1)) - sum(nums)# return (n := len(nums)) * (n + 1) // 2 - sum(nums)## 方法四:异或res = 0for i, num in enumerate(nums):res ^= i ^ numres ^= len(nums)return res
929. 独特的电子邮件地址
class Solution:def numUniqueEmails(self, emails: List[str]) -> int:emailSet = set()for email in emails:i = email.index('@')local = email[:i].split('+', 1)[0] # 去掉本地名第一个加号之后的部分local = local.replace('.', '') # 去掉本地名中所有的句点emailSet.add(local + email[i:])return len(emailSet)
2215. 找出两数组的不同
class Solution:def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:a, b = set(nums1), set(nums2)return [list(a - b), list(b - a)]
第三十课
575. 分糖果
class Solution:def distributeCandies(self, candyType: List[int]) -> int:n = len(candyType) // 2s = set(candyType)if len(s) >= n: return nreturn len(s)# return min(len(candyType)//2, len(set(candyType)))
1684. 统计一致字符串的数目
class Solution:def countConsistentStrings(self, allowed: str, words: List[str]) -> int:res = 0for w in words: # 外循环# flag = True# for c in w: # 内循环# if c not in allowed:# flag = False# break # 终止(内)循环# if flag: res += 1# for c in w: # 内循环# if c not in allowed: # break # 终止(内)循环# else: res += 1 # 这个是和 for 对齐的,跳过 break 终止的循环res += all(c in allowed for c in w)return resreturn sum(all(c in allowed for c in w) for w in words)return sum(set(allowed) >= set(s) for s in words)
2460. 对数组执行操作
class Solution:def applyOperations(self, nums: List[int]) -> List[int]:n, left = len(nums), 0for i in range(n):if i + 1 < n and nums[i] == nums[i + 1]:nums[i], nums[i + 1] = nums[i] * 2, 0if nums[i]:nums[i], nums[left] = nums[left], nums[i]left += 1return nums
1710. 卡车上的最大单元数
class Solution:def maximumUnits(self, boxTypes: List[List[int]], truckSize: int) -> int:boxTypes.sort(key=lambda x:-x[1])ans = 0for a, b in boxTypes:if a >= truckSize:ans += truckSize * bbreak ans += a * btruckSize -= a return ans
相关文章:
Python 06 Set
Python 实例教程 Python 实例教学_ 06_集合第二十八课[2351. 第一个出现两次的字母](https://leetcode.cn/problems/first-letter-to-appear-twice/)[217. 存在重复元素](https://leetcode.cn/problems/contains-duplicate/)[219. 存在重复元素 II](https://leetcode-cn.com/pr…...
ControllerAdvice定义统一异常处理
springboot版本:2.6.13<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>在实体上添加校验注解,例如: NotBlankNotEmpty…...
Leetcode 162.寻找峰值
峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须实现时间复杂度为 O(…...
c语言:知识补充
c语言中编译开始会对#define,#include等内容做预处理,可以用#define写一些简单函数,方便使用 #include <stdio.h> #include <stdlib.h>#define MAX(A, B) ((A) > (B) ? (A) : (B))int main(){printf("%d\n", MAX(…...
Dapper介绍及特性
一、Dapper介绍及特性 Dapper是一个.NET平台上的轻量级对象关系映射(ORM)工具,它通过扩展IDbConnection接口,提供了一系列的扩展方法来执行SQL查询并将结果映射到.NET对象中。Dapper以其高性能和简单易用著称,特别适合…...
LeetCode 149. 直线上最多的点数
LeetCode 149. 直线上最多的点数 给你一个数组 points ,其中 points[i] [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 示例 1: 输入:points [[1,1],[2,2],[3,3]] 输出:3 示例 2: 输入&…...
案例研究丨国控星鲨利用DataEase释放数据潜能,重塑业务视野
国药控股星鲨制药(厦门)有限公司(以下简称为国控星鲨)始创于1952年,前身为厦门鱼肝油厂,距今已经有70余年历史,是国家商务部认定的“中华老字号”企业。2011年,国药控股与厦门轻工集…...
网络基础概念和 socket 编程
网络基础概念和 socket 编程 学习目标: 了解 OSI 七层模型、TCP/IP 四层模型结构了解常见的网络协议格式掌握网络字节序和主机字节序之间的转换理解 TCP 服务器端通信流程理解 TCP 客户端通信流程实现 TCP 服务器端和客户端的代码 推荐一个非常好的学习资料仓库 协…...
TypeScript 中的接口、泛型与自定义类型
TypeScript 是一种超集语言,它为 JavaScript 添加了静态类型检查。通过 TypeScript,开发者可以获得更好的工具支持,并且能够编写出更加健壮的代码。本文将探讨 TypeScript 中的几个关键特性:接口、泛型以及如何创建自定义类型。 …...
常州威雅学校:跟随这场音乐盛宴,溯回她的音乐之路
时同学 常州威雅2021届毕业生 英国皇家北方音乐学院 钢琴系 西太湖畔清凉的晚风送来阵阵悦耳的钢琴声,时同学在母校的个人钢琴独奏悄然拉开序幕。这是她自毕业三年后,在常州威雅的首场钢琴独奏会。 随着第一个音符落下,她用手指在黑白键盘…...
【YashanDB知识库】由于hist_head$中analyze time小于tab$中analyze time导致的sql语句执行慢
本文内容来自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7459465.html?templateId1718516 问题现象 某局点yashandb cpu使用率100%,经线上分析是由于几个sql执行慢,其中一个sql为简单的单行等值绑定变量过滤排序。 经分…...
【有啥问啥】深度理解主动学习:机器学习的高效策略
深度理解主动学习:机器学习的高效策略 在大数据时代,数据量的爆炸性增长与有限的标注资源之间的矛盾日益凸显。如何高效地利用标注资源来训练高质量的模型,成为了机器学习领域亟待解决的问题。主动学习(Active Learning, AL&…...
智能守护者X100 - 自动化生产线智能机器人安全监控管理系统
1.产品介绍 产品名称: 智能守护者X100 - 自动化生产线智能机器人安全监控管理系统 主要功能: 全方位实时监控:智能守护者X100采用高清摄像头与红外夜视技术,实现对自动化生产线及智能机器人的360无死角监控。系统能自动识别并追踪生产线上的机器人活动轨迹,确保生产安全…...
harmonyos面试题
你在项目中用过线程通信吗,线程是怎么进行通信的? 页面的生命周期有哪些? UAbility的生命周期呢? 你在项目中使用首选项主要用来数什么 组件通信的方式有息些 弹室UI是怎么在页面UI中使用的 常用的修饰符有愿些介绍一下 缓冲区是什么与16进制和数组有什么关…...
神经网络介绍及其在Python中的应用(一)
作者简介:热爱数据分析,学习Python、Stata、SPSS等统计语言的小高同学~ 个人主页:小高要坚强的博客 当前专栏:Python之机器学习 本文内容:神经网络介绍及其在Python中的线性回归应用 作者“三要”格言:要坚…...
数据流处理技术与Flink框架
一数据流 数据流定义: 数据流(Data Stream)是指数据以连续不断的方式到达和处理的序列。在现实世界中,许多数据来源都是以流的形式存在,比如: 1. 用户行为:用户在网站上的点击流、移动应用中…...
qt中QTatlewidget类常用操作表格的函数有哪些?
在Qt中,QTableWidget 类提供了丰富的函数来操作表格数据。以下是一些常用的操作表格的函数: 1. 初始化与配置 构造函数:QTableWidget(int rows, int columns, QWidget *parent nullptr):创建一个指定行数和列数的表格控件。设置…...
Linux上的C/C++编程
Linux上的C/C编程 yum软件包管理器Linux编辑器-vimvim命令模式指令集vim末行模式指令集 gcc/g的使用Linux自动化编译工具-make/MakefileLinux调试器-gdb调试命令 多人合作工具git yum软件包管理器 yum 是Linux上常用的包管理器,类似于Windows上的“应用商店”。 语…...
注意 秋季饮酒的正确打开方式
选择合适的白酒1.秋季气候干燥,适合选择一些口感醇厚、温润的白酒。比如酱香型白酒,它具有浓郁的香气和醇厚的口感,能在秋季给你带来温暖的感觉。2.浓香型白酒也是不错的选择,香气扑鼻,口感绵甜,能为秋季增…...
Python如何配置环境变量详解
一、概述 前提:已安装 Python,如下图: 1.1 检查是否已配置成功(选) 1 2 3 4 5 1. 打开运行窗口 (1) 快捷键 : Win r,并输入 cmd (2) 直接输入: Python 2. 若有下列提示,即为 安装成功…...
Python3数字类型完全指南:从基础到高级应用
前言在Python编程语言中,数字(Number)是最基本、最核心的数据类型之一。无论是简单的数值计算,还是复杂的数据分析、科学计算,数字类型都扮演着不可或缺的角色。Python3以其简洁、强大和灵活的特性,在数字处…...
联想拯救者工具箱:开源替代方案实现笔记本性能优化与硬件控制
联想拯救者工具箱:开源替代方案实现笔记本性能优化与硬件控制 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 联…...
星际探险队
目录 星际探险队 游戏目标 游戏准备 核心玩法 沟通技能 星际探险队 2-5人的合作桌游 游戏目标 合作完成任务卡目标,如赢得特定牌墩、特定卡牌或特定数量牌墩 游戏准备 牌组:共 40 张牌,含 4 种颜色(1-9)和王…...
期权量化交易基础库:模块化设计与回测实战指南
1. 项目概述:一个为期权交易者打造的“地基” 如果你在量化交易或者期权策略开发领域摸爬滚打过一段时间,大概率会和我有同样的感受:每次想测试一个新想法,都得从零开始搭建数据接口、计算希腊字母、管理仓位、回测框架……这些重…...
毕业设计:基于springboot的在线课程管理系统(源码)
4系统概要设计4.1概述本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:图4-1系统工作原理图4.2…...
对比直接使用厂商 API 通过 Taotoken 聚合调用的账单清晰度差异
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用厂商 API 与通过 Taotoken 聚合调用的账单清晰度差异 在集成多个大语言模型到业务中时,开发者通常会面临一…...
ICC II时钟树综合(CTS)前,这5个NDR和约束设置没做好,后期时序肯定崩
ICC II时钟树综合前的5个致命陷阱:NDR与约束设置实战指南 时钟树综合(CTS)是数字后端设计中最关键的阶段之一,而90%的后期时序问题往往源于CTS前的配置疏漏。本文将深入剖析五个最容易被忽视却影响深远的设置环节,结合…...
别再手动画图表了!用这套Figma可视化组件库7.0,5分钟搞定大屏设计稿
别再手动画图表了!用这套Figma可视化组件库7.0,5分钟搞定大屏设计稿 凌晨3点的设计工作室里,咖啡杯已经空了第三轮。李然盯着屏幕上那个反复修改了7次却始终不够"科技感"的柱状图,突然意识到——设计师的时间不该浪费在…...
崩坏星穹铁道终极自动化指南:三月七小助手完整使用教程
崩坏星穹铁道终极自动化指南:三月七小助手完整使用教程 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 还在为《崩坏:星穹铁道》中繁琐的日常…...
终极指南:5分钟掌握Blender四边形网格重构神器QRemeshify
终极指南:5分钟掌握Blender四边形网格重构神器QRemeshify 【免费下载链接】QRemeshify A Blender extension for an easy-to-use remesher that outputs good-quality quad topology 项目地址: https://gitcode.com/gh_mirrors/qr/QRemeshify 你是否曾在Blen…...
