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. 若有下列提示,即为 安装成功…...
避坑指南:Matplotlib调用LaTeX渲染公式时,你可能会遇到的5个报错及解决方法
Matplotlib与LaTeX公式渲染:5个典型报错排查手册 当你第一次在Matplotlib中启用usetexTrue时,屏幕上突然弹出的红色LaTeX错误信息往往让人手足无措。这不是你代码逻辑的问题,而是两个强大工具在握手时产生的"语言障碍"。本文将带你…...
Linux内核container_of宏解析与应用
1. 理解container_of宏的核心作用在Linux内核开发中,container_of宏是一个极其重要且频繁使用的工具。它的核心功能是通过结构体成员的地址反推出整个结构体的起始地址。想象一下,你手里只有一张照片的某个局部,却能准确找到这张照片在相册中…...
消费增值生态:从规则设计到商业价值实现
还在为用户复购低、留存弱、平台难长效而困扰?当多数商家还困在传统经营思路里止步不前,一套依托真实消费、贴合政策导向的增值生态已然崛起。它以合规为底、以价值为核、以闭环为骨架,正在重新定义平台与商家的增长逻辑,成为数字…...
3D打印雕塑与玻璃钢雕塑的区别、工艺详解及定制雕塑相关疑问解答
3D打印雕塑与玻璃钢雕塑的区别、工艺详解及定制雕塑相关疑问解答3D打印雕塑与玻璃钢雕塑是当代主流雕塑工艺,核心差异在于成型逻辑与材料特性:3D打印以数字化建模为核心,遵循“分层叠加”的增材逻辑;玻璃钢以复合材料为基础&#…...
超越本地插件:利用快马平台ai能力全面提升你的编码效率与工作流
最近在开发前端项目时,我一直在寻找能提升效率的AI工具。之前用过一些本地IDE插件,虽然能提供基础的代码补全,但功能比较局限。后来尝试了InsCode(快马)平台,发现它把AI辅助开发做到了一个新高度,特别适合需要快速迭代…...
【系统架构设计师-案例题(5)】人工智能 · 参考答案与解析(按分类)
文章目录目录一、机器学习基本概念单选 迁移学习单选 强化学习的核心特点二、人工智能分类(弱人工智能与强人工智能)单选 主要区别三、人工智能关键技术单选 说法错误项(选非)单选 哪项不是人工智能关键技术(选非…...
门店做小程序失败的常见原因有哪些?
门店做小程序失败的常见原因有哪些?在实际经营中,越来越多门店开始尝试通过小程序实现线上转型,但上线后效果不佳甚至放弃运营的情况也较为常见。门店做小程序失败的常见原因,本质上并不在于工具本身,而在于经营逻辑、…...
Java中的5大AI框架!
前言在AI技术爆发的这两年里,我一直在思考一个问题:Python有LangChain,JavaScript有LangChain.js,我们Java开发者拿什么来构建AI应用?这个问题在2024-2025年终于有了答案。随着Spring AI的1.0 GA发布、LangChain4j的持…...
Nano-Banana Studio惊艳效果:高分辨率(1024x1024)运动服爆炸图细节展示
Nano-Banana Studio惊艳效果:高分辨率(1024x1024)运动服爆炸图细节展示 1. 开篇:当AI遇见设计拆解 你有没有遇到过这样的情况:想要展示一件运动服的所有设计细节,却不知道从哪里开始?传统的产…...
魔法方法 __init__ 与 __new__ 的区别与使用场景
前言在 Python 中,魔法方法(也叫特殊方法)以双下划线开头和结尾,例如 __init__、__new__、__str__ 等。它们赋予了类许多“隐形”的能力,让我们能够像操作内置类型一样操作自定义对象。当谈到对象创建时,__…...
