news 2026/8/15 11:49:55

LeetCode 每日一题 2026/8/10-2026/8/16

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 每日一题 2026/8/10-2026/8/16

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


目录

      • 8/10 1510. 石子游戏 IV
      • 8/11 2996. 大于等于顺序前缀和的最小缺失整数
      • 8/12 2958. 最多 K 个重复元素的最长子数组
      • 8/13 2213. 由单个字符重复的最长子字符串
      • 8/14 3090. 每个字符最多出现两次的最长子字符串
      • 8/15
      • 8/16


8/10 1510. 石子游戏 IV

双方轮流从 n 个石子中拿走平方数个,Alice 先手,不能行动者输。
用 dp[i] 表示还剩 i 个石子时,当前选手是否必胜。
转移:若存在某个平方数 x,使得 dp[i-x] 为败,则当前选手必胜。
最终返回 dp[n]。

defwinnerSquareGame(n):""" :type n: int :rtype: bool """dp=[False]*(n+1)foriinrange(1,n+1):k=1whilek*k<=i:ifnotdp[i-k*k]:dp[i]=Truebreakk+=1returndp[n]

8/11 2996. 大于等于顺序前缀和的最小缺失整数

从头遍历 找到顺序前缀并记录和
顺序前缀结束后
判断和是否出现过 若出现+1

defmissingInteger(nums):""" :type nums: List[int] :rtype: int """ans=nums[0]foriinrange(1,len(nums)):ifnums[i]-nums[i-1]==1:ans+=nums[i]else:breaks=set(nums)whileansins:ans+=1returnans

8/12 2958. 最多 K 个重复元素的最长子数组

滑动窗口[l,r] cnt[num]记录 num出现的次数
r一直往右移动 将nums[r]加入cnt 如果cnt[nums[r]] > k 则将nums[l]从cnt中移除 并左移l
如果cnt[nums[r]] <= k 则更新max_length

defmaxSubarrayLength(nums,k):""" :type nums: List[int] :type k: int :rtype: int """fromcollectionsimportdefaultdict left=0right=0max_length=0cnt=defaultdict(int)whileright<len(nums):cnt[nums[right]]+=1whilecnt[nums[right]]>k:cnt[nums[left]]-=1left+=1max_length=max(max_length,right-left+1)right+=1returnmax_length

8/13 2213. 由单个字符重复的最长子字符串

每次单点改字符后,要求整串中最长连续相同字符的长度。
用线段树维护每个区间的:左端连续长度 lmx、右端连续长度 rmx、区间内最长连续长度 mx。
合并左右子区间时,若左区间右端字符等于右区间左端字符,则可把左后缀和右前缀拼起来更新 mx;若左区间整段相同,lmx 还要加上右前缀;若右区间整段相同,rmx 还要加上左后缀。
每次修改叶子后自底向上 pushup,根节点的 mx 就是当前答案。

deflongestRepeating(s,queryCharacters,queryIndices):""" :type s: str :type queryCharacters: str :type queryIndices: List[int] :rtype: List[int] """n=len(s)chars=list(s)lmx=[0]*(n*4)rmx=[0]*(n*4)mx=[0]*(n*4)left=[0]*(n*4)right=[0]*(n*4)defpushup(u):ls,rs=u<<1,u<<1|1a=right[ls]-left[ls]+1b=right[rs]-left[rs]+1lmx[u]=lmx[ls]rmx[u]=rmx[rs]mx[u]=mx[ls]ifmx[ls]>mx[rs]elsemx[rs]ifchars[right[ls]-1]==chars[left[rs]-1]:iflmx[ls]==a:lmx[u]+=lmx[rs]ifrmx[rs]==b:rmx[u]+=rmx[ls]cross=rmx[ls]+lmx[rs]ifcross>mx[u]:mx[u]=crossdefbuild(u,l,r):left[u]=l right[u]=rifl==r:lmx[u]=rmx[u]=mx[u]=1returnmid=(l+r)>>1build(u<<1,l,mid)build(u<<1|1,mid+1,r)pushup(u)defmodify(u,x,v):ifleft[u]==right[u]:chars[x-1]=vreturnmid=(left[u]+right[u])>>1ifx<=mid:modify(u<<1,x,v)else:modify(u<<1|1,x,v)pushup(u)build(1,1,n)ans=[]forx,vinzip(queryIndices,queryCharacters):modify(1,x+1,v)ans.append(mx[1])returnans

8/14 3090. 每个字符最多出现两次的最长子字符串

滑动窗口 cnt记录每个字符出现的次数
如果当前字符出现的次数大于2,则移动左指针,直到当前字符出现的次数小于等于2

defmaximumLengthSubstring(s):""" :type s: str :rtype: int """l,r=0,0res=0cnt=defaultdict(int)whiler<len(s):cnt[s[r]]+=1whilecnt[s[r]]>2:cnt[s[l]]-=1l+=1res=max(res,r-l+1)r+=1returnres

8/15


8/16


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

企业新闻发稿如何避坑?传播易去中介化广告交易闭环有哪些核心优势?

数字化浪潮下&#xff0c;信息过载已然成为品牌传播的核心痛点。智能手机全天候海量资讯推送、社交媒体热点快速迭代、主流媒体编辑审核标准持续收紧&#xff0c;让企业公关稿件、品牌新闻的出圈难度大幅提升。在当下传播环境中&#xff0c;缺乏精准渠道布局与专业传播策划的品…

作者头像 李华
网站建设 2026/8/15 11:44:14

5 招快速修复 MelonLoader 启动失败:Unity 模组加载器自救指南

5 招快速修复 MelonLoader 启动失败&#xff1a;Unity 模组加载器自救指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader Melo…

作者头像 李华
网站建设 2026/8/15 11:44:08

工业报警怎么做分级、去重、确认、追溯才规范?

很多工业上位机的报警系统&#xff0c;最终都做成了「噪音制造机」&#xff1a;设备一出故障全屏变红刷屏&#xff0c;几十条连锁报警同时弹出&#xff0c;真正的根因被淹没在里面&#xff1b;报警响了没人确认&#xff0c;出了事故查不到谁处理的、什么时候处置的&#xff0c;…

作者头像 李华
网站建设 2026/8/15 11:42:43

数据隐私与价值挖掘:企业如何平衡“合规”与“赚钱”?

如今的商业赛道&#xff0c;数据早已是企业不可或缺的核心生产资源。不管是互联网平台、电商商家、实体零售门店&#xff0c;还是本地生活、服务类企业&#xff0c;想要精准锁定客户、优化产品服务、提升整体营收&#xff0c;都离不开用户数据的深度挖掘与精细化分析。但伴随数…

作者头像 李华
网站建设 2026/8/15 11:41:04

从零制作纯净PE启动盘:手把手教你U盘安装Windows系统

1. 项目缘起&#xff1a;为什么你还需要一个PE启动U盘&#xff1f; 如果你觉得重装系统是电脑城小哥的专利&#xff0c;或者认为一键重装软件能解决所有问题&#xff0c;那可能错过了一个更强大、更可控的工具。我手边常年备着一个PE启动U盘&#xff0c;它就像我的数字急救箱。…

作者头像 李华