news 2026/8/14 3:48:51

LeetCode 每日一题 2025/12/8-2025/12/14

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 每日一题 2025/12/8-2025/12/14

LeetCode 每日一题 2025/1/1-2025/1/7
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步


目录

      • 12/8 1925. 统计平方和三元组的数目
      • 12/9 3583. 统计特殊三元组
      • 12/10 3577. 统计计算机解锁顺序排列数
      • 12/11 3531. 统计被覆盖的建筑
      • 12/12 3433. 统计用户被提及情况
      • 12/13
      • 12/14


12/8 1925. 统计平方和三元组的数目

遍历
如果a2+b2=c^2
a一定不等于b
假设a<b<c (a,b,c) (b,a,c)都满足
所以找到一组ans+2

defcountTriples(n):""" :type n: int :rtype: int """importmath ans=0forainrange(1,n):forbinrange(a+1,n):c=int(math.sqrt(a**2+b**2))ifc<=nandc**2==a**2+b**2:ans+=2returnans

12/9 3583. 统计特殊三元组

从右到左枚举j
左侧每个数出现的次数放入left 右侧每个数出现次数放入right
当前nums[j] 两边nums[j]*2 的个数相乘

defspecialTriplets(nums):""" :type nums: List[int] :rtype: int """fromcollectionsimportdefaultdict MOD=10**9+7left=defaultdict(int)right=defaultdict(int)n=len(nums)foriinrange(n-1):left[nums[i]]+=1right[nums[-1]]+=1ans=0fornuminnums[-2:0:-1]:left[num]-=1ans=(ans+left[num*2]*right[num*2])%MOD right[num]+=1returnans

12/10 3577. 统计计算机解锁顺序排列数

如果能够全部解锁那么complexity[0]必定最小
即如果存在complexity[i]<=complexity[0] 这个i无法解锁 答案为0
否则答案为(n-1)!

defcountPermutations(complexity):""" :type complexity: List[int] :rtype: int """MOD=10**9+7n=len(complexity)foriinrange(1,n):ifcomplexity[i]<=complexity[0]:return0ans=1foriinrange(2,n):ans=(ans*i)%MODreturnans

12/11 3531. 统计被覆盖的建筑

记录每一行每一列出现建筑的最小位置和最大位置
遍历半段当前x,y是否都在最小位置和最大位置之间

defcountCoveredBuildings(n,buildings):""" :type n: int :type buildings: List[List[int]] :rtype: int """rowmin=[n+1]*(n+1)colmin=[n+1]*(n+1)rowmax=[0]*(n+1)colmax=[0]*(n+1)forx,yinbuildings:rowmin[y]=min(rowmin[y],x)rowmax[y]=max(rowmax[y],x)colmin[x]=min(colmin[x],y)colmax[x]=max(colmax[x],y)ans=0forx,yinbuildings:ifrowmin[y]<x<rowmax[y]andcolmin[x]<y<colmax[x]:ans+=1returnans

12/12 3433. 统计用户被提及情况

按时间顺序先排序
遍历每一个event
nxtonline[i]记录用户i下一次上线的时间
分情况处理

defcountMentions(numberOfUsers,events):""" :type numberOfUsers: int :type events: List[List[str]] :rtype: List[int] """events.sort(key=lambdax:(int(x[1]),x[0]=="MESSAGE"))cnt=[0]*numberOfUsers nxtonline=[0]*numberOfUsersforevtinevents:cur=int(evt[1])ifevt[0]=="MESSAGE":ifevt[2]=="ALL":foriinrange(numberOfUsers):cnt[i]+=1elifevt[2]=="HERE":fori,tinenumerate(nxtonline):ift<=cur:cnt[i]+=1else:foriinevt[2].split():cnt[int(i[2:])]+=1else:nxtonline[int(evt[2])]=cur+60returncnt

12/13


12/14


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 18:07:11

XML 语法详解

XML 语法详解 引言 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。它广泛应用于网络数据的传输、数据存储和配置文件等领域。本文将详细介绍XML的语法规则,帮助读者更好地理解和应用XML。 XML基本概念 1. XML文档结构 一个XML文档通常由以下几部分组成: 声…

作者头像 李华
网站建设 2026/8/13 10:49:59

Maven 快照(SNAPSHOT)

Maven 快照(SNAPSHOT) 引言 Maven 快照(SNAPSHOT)是 Maven 中的一个重要概念,它主要用于管理项目依赖的版本。在软件开发过程中,快照版本通常用于表示开发中的不稳定版本,以便开发者可以及时获取到最新的代码变更。本文将详细介绍 Maven 快照的概念、使用方法以及注意…

作者头像 李华
网站建设 2026/8/13 21:48:24

我只是给Typescript提个 typo PR,为什么还要签协议?

第一次给大公司的开源项目&#xff08;Typescript&#xff09;提 PR&#xff0c;提交完 GitHub 就弹出一条评论&#xff0c;让你签什么 CLA&#xff1a;microsoft-github-policy-service agree 什么玩意儿&#xff1f;我就改了个拼写错误&#xff0c;还要签协议&#xff1f;CLA…

作者头像 李华
网站建设 2026/8/14 14:02:35

儿童青少年近视该如何科学防控家长是青少年近视防控的“守门人”

儿童青少年近视率的持续攀升&#xff0c;已成为影响国民健康的重要问题。近视不仅会给孩子的学习生活带来不便&#xff0c;还可能随着年龄增长发展为高度近视&#xff0c;引发眼底病变等潜在风险。在近视防控的全过程中&#xff0c;家长作为孩子成长的第一责任人&#xff0c;肩…

作者头像 李华
网站建设 2026/8/12 19:22:26

近视防控看这篇:儿童近视如何干预?什么方法才有效?

如今&#xff0c;儿童近视率逐年攀升&#xff0c;低龄化趋势更是愈演愈烈。不少家长在体检单上看到孩子的视力数值下滑时&#xff0c;满心担忧却不知从何入手。其实家长们要明白&#xff0c;儿童近视干预从来不是 “一招制胜” 的事&#xff0c;更需要融入日常的科学防控。一、…

作者头像 李华