当前位置: 首页 > news >正文

LeetCode 每日一题 2025/10/13-2025/10/19

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


目录

      • 10/13 2273. 移除字母异位词后的结果数组
      • 10/14 3349. 检测相邻递增子数组 I
      • 10/15 3350. 检测相邻递增子数组 II
      • 10/16 2598. 执行操作后的最大 MEX
      • 10/17 3003. 执行操作后的最大分割数量
      • 10/18 3397. 执行操作后不同元素的最大数量
      • 10/19


10/13 2273. 移除字母异位词后的结果数组

cur记录之前字母 判断其与当前的字母是否是异位词

def removeAnagrams(words):""":type words: List[str]:rtype: List[str]"""ans=[]def check(a,b):return sorted(a)!=sorted(b)for w in words:if len(ans)==0:ans.append(w)elif check(ans[-1],w):ans.append(w)return ans

10/14 3349. 检测相邻递增子数组 I

只要确定开始位置a判定 a~a+k-1 a+k~a+2*k-1是否递增即可
如果前一个数组中x,x+1 非严格递增
那么下一次a直接从x+1开始

def hasIncreasingSubarrays(nums, k):""":type nums: List[int]:type k: int:rtype: bool"""if k==1:return Truen=len(nums)a=0while a<=n-2*k:tag=Trueprint(a,nums[a:a+k+k])for i in range(a+1,a+k):if nums[i-1]>=nums[i]:tag=Falsea=ibreakif not tag:continuefor i in range(a+k+1,a+2*k):if nums[i-1]>=nums[i]:tag=Falsea+=1breakif not tag:continueelse:return Truereturn False

10/15 3350. 检测相邻递增子数组 II

遍历
记录当前位置严格递增的子数组长度cur
以及上一个子数组长度pre
满足要求的子数组可以为min(pre,cur) 或者cur//2

def maxIncreasingSubarrays(nums):""":type nums: List[int]:rtype: int"""n=len(nums)cur,pre,ans=1,0,0for i in range(1,n):if nums[i]>nums[i-1]:cur+=1else:pre,cur=cur,1ans=max(ans,min(cur,pre),cur//2)return ans

10/16 2598. 执行操作后的最大 MEX

所有数根据value取余数分组
余数相同的两个数可以经过若干次变化得到
统计每种余数个数 最小个数x
从小到大如果余数v个数为x 那么在下一轮就无法获取
MEX=x*value+v

def findSmallestInteger(nums, value):""":type nums: List[int]:type value: int:rtype: int"""m=[0]*valuefor num in nums:v= num%valuem[v]+=1x=min(m)for v in range(value):if m[v]==x:return x*value+v

10/17 3003. 执行操作后的最大分割数量

https://leetcode.cn/problems/maximize-the-number-of-partitions-after-operations/solutions/2595072/ji-yi-hua-sou-suo-jian-ji-xie-fa-pythonj-6g5z/?envType=daily-question&envId=2025-10-17

def maxPartitionsAfterOperations(s, k):""":type s: str:type k: int:rtype: int"""mem={}def dfs(i,mask,changed):if (i,mask,changed) in mem:return mem[(i,mask,changed)]if i==len(s):return 1bit=1<<(ord(s[i])-ord('a'))newmask=mask|bitif newmask.bit_count()>k:ans=dfs(i+1,bit,changed)+1else:ans=dfs(i+1,newmask,changed)if changed:mem[(i,mask,changed)]=ansreturn ansfor j in range(26):newmask=mask|(1<<j)if newmask.bit_count()>k:ans=max(ans,dfs(i+1,1<<j,True)+1)else:ans=max(ans,dfs(i+1,newmask,True))mem[(i,mask,changed)]=ansreturn ansreturn dfs(0,0,False)

10/18 3397. 执行操作后不同元素的最大数量

从小到大排序
数组操作后取值范围为 minv-k,maxv+k
所有数都尽可能小
pre记录之前最小值 当前值最小可以为num-k最大值为num+k
但需要比之前的pre大一点

def maxDistinctElements(nums, k):""":type nums: List[int]:type k: int:rtype: int"""nums.sort()ans=0pre=float('-inf')for num in nums:cur=min(max(num-k,pre+1),num+k)if cur>pre:ans+=1pre=curreturn ans

10/19


http://www.dtcms.com/a/498973.html

相关文章:

  • C++ 面试基础考点 模拟题 力扣 38. 外观数列 题解 每日一题
  • 辽阳企业网站建设费用企业推广软文
  • 天津实体店网站建设深圳宝安区住建局官网
  • shell编程语言---sed
  • iframe实战:跨域通信与安全隔离
  • 购物网站的建设意义html可视化编辑软件
  • Bootstrap 字体图标
  • PVE 9.0 定制 Debian 13 镜像 支持 Cloud-Init 快速部署虚拟机【模板篇】
  • 长春建站模板搭建高端品牌包包都有哪些
  • ai周公解梦抖音快手微信小程序看广告流量主开源
  • 【无标题】大模型-高效优化技术全景解析:微调 量化 剪枝 梯度裁剪与蒸馏 下
  • 自动化信息交付:深度解析AI驱动的每日简报系统架构与实现
  • 做微信公众号第三网站男女做视频观看网站
  • 定时任务Quartz原理详解
  • Rethinking SSIM-Based Optimization in Neural Field Training
  • rocketmq和kafka的区别之顺序消费
  • 套路有*道龙激光-乐多刀销*游戏程序系统方案
  • Angular 2 数据显示
  • 如何快速做单页面网站怎么查网站建设是哪家公司
  • 外国网站备案网站板块设置
  • 从 ClickHouse 到 StarRocks 存算分离: 携程 UBT 架构升级实践
  • 云手机 三角洲行动跑刀
  • Java 反射机制深度解析:从对象创建到私有成员操作
  • c++|表达最值的更好方法|clamp
  • Altium Designer(AD24)File文件功能总结
  • 【EE初阶 - 网络原理】应用层协议(下)
  • Pyinstaller - Python桌面应用打包的首选工具
  • PHP编程语言选择
  • 太原市做网站专业团队广告语
  • 桂林设计单位资质升级网站手机怎么建网站