LeetCode 每日一题 2025/6/9-2025/6/15

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


目录

      • 6/9 440. 字典序的第K小数字
      • 6/10 3442. 奇偶频次间的最大差值 I
      • 6/11 3445. 奇偶频次间的最大差值 II
      • 6/12 3423. 循环数组中相邻元素的最大差值
      • 6/13 2616. 最小化数对的最大差值
      • 6/14 2566. 替换一个数字后的最大差值
      • 6/15


6/9 440. 字典序的第K小数字

字典树思路
从小到大考虑
每个节点最多拥有10个子节点
例如节点1
在小于n的情况下
可以有第一层子节点10,11…19 最小值为110 最大值为110+9
可以有第二层子节点100,101,…199 最小值为1010 最大值为1910+9
记录每一层子节点最大最小值minv maxv
next_minv=10minv next_maxv = 10maxv+9
每一层节点个数为 min(maxv,n)-minv+1 最大值不能超过n
从最小前缀cur=1开始找起 统计1开头的所有数量num
如果需要的k大于等于num 则减去个数num 继续寻找下一个前缀2 cur = cur+1
如果k小于num 说明需要的数以1开头
进入1的第一层子节点继续寻找cur = cur*10 此时经过了节点1 所以k需要减去1
此时节点为10继续上述步骤 直至找到第k个

def findKthNumber(n, k):""":type n: int:type k: int:rtype: int"""def find(prefix,n):count,minv,maxv=0,prefix,prefixwhile minv<=n:count += min(maxv,n)-minv+1minv *=10maxv = maxv*10+9return countcur = 1k -=1while k>0:num = find(cur,n)if num<=k:k-=numcur+=1else:cur*=10k-=1return cur

6/10 3442. 奇偶频次间的最大差值 I

依次统计

def maxDifference(s):""":type s: str:rtype: int"""from collections import Counterc = Counter(s)odd = max(x for x in c.values() if x%2==1)even = min(x for x in c.values() if x%2==0)return odd-even

6/11 3445. 奇偶频次间的最大差值 II

字符只包含0~4 枚举各种字符之间的情况
https://leetcode.cn/problems/maximum-difference-between-even-and-odd-frequency-ii/solutions/3061845/mei-ju-qian-zhui-he-hua-dong-chuang-kou-6cwsm/?envType=daily-question&envId=2025-06-11

def maxDifference(s, k):""":type s: str:type k: int:rtype: int"""s=list(map(int,s))ans=float("-inf")for x in range(5):for y in range(5):if x==y:continuecurs=[0]*5pres=[0]*5mins=[[float("inf"),float("inf")],[float("inf"),float("inf")]]l=0for i,v in enumerate(s):curs[v]+=1r=i+1while r-l>=k and curs[x]>pres[x] and curs[y]>pres[y]:p,q=pres[x]&1,pres[y]&1mins[p][q]=min(mins[p][q],pres[x]-pres[y])pres[s[l]]+=1l+=1if r>=k:ans=max(ans,curs[x]-curs[y]-mins[curs[x]&1^1][curs[y]&1])return ans

6/12 3423. 循环数组中相邻元素的最大差值

遍历

def maxAdjacentDistance(nums):""":type nums: List[int]:rtype: int"""ans=float("-inf")n=len(nums)for i in range(n):ans = max(ans,abs(nums[i]-nums[(i+1)%n]))return ans

6/13 2616. 最小化数对的最大差值

将数组从小到大排列
dp[n]代表前n个数中满足条件的数对个数
二分

def minimizeMax(nums, p):""":type nums: List[int]:type p: int:rtype: int"""nums.sort()def find(mx):cnt=0i=0while i<len(nums)-1:if nums[i+1]-nums[i]<=mx:cnt+=1i+=2else:i+=1return cnt>=pl,r=0,nums[-1]-nums[0]while l<r:mid=(l+r)//2if find(mid):r=midelse:l=mid+1return l

6/14 2566. 替换一个数字后的最大差值

将最高位非9替换为9最大
将最高位非0替换为0最小
转换为字符串寻找

def minMaxDifference(num):""":type num: int:rtype: int"""s=str(num)pos=0mins=swhile pos<len(s) and s[pos]=='9':pos+=1if pos<len(s):s=s.replace(s[pos],'9')mins=mins.replace(mins[0], '0')return int(s)-int(mins)

6/15


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/83774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyTorch张量操作中dim参数的核心原理与应用技巧:

今天在搭建神经网络模型中重写forward函数时&#xff0c;对输出结果在最后一个维度上应用 Softmax 函数&#xff0c;将输出转化为概率分布。但对于dim的概念不是很熟悉&#xff0c;经过查阅后整理了一下内容。 PyTorch张量操作精解&#xff1a;深入理解dim参数的维度规则与实践…

Day 31

1. 规范的文件命名 核心原则&#xff1a; 清晰明确&#xff1a;文件名应准确描述内容&#xff08;如data_preprocessing.py&#xff09; 风格统一&#xff1a; 推荐小写下划线&#xff08;Python惯例&#xff0c;如model_training.py&#xff09; 或使用驼峰式&#xff08…

学习Oracle------认识VARCHAR2

学习Oracle------认识VARCHAR2 VARCHAR2 是 Oracle 数据库中专门用于存储可变长度字符串的数据类型&#xff0c;它是 Oracle 对标准 SQL 数据类型 VARCHAR 的增强和替代。以下是全面解析&#xff1a; 核心概念 名字含义&#xff1a; VAR Variable&#xff08;可变&#xff09…

记录jackson解析出错

Jackson 属性名大小写 Bug 记录 问题描述 在前后端交互过程中&#xff0c;前端传递的 JSON 字段名为驼峰风格&#xff08;如 qTitle&#xff09;&#xff0c;后端 Java 实体类字段名也为驼峰&#xff08;如 private String qTitle;&#xff09;。 但在反序列化时&#xff0c;…

泰国数码电商系统定制|3C产品详情泰语化+售后管理,适配泰国数码零售

随着全球数字化的加速&#xff0c;电商行业正在迅速发展&#xff0c;尤其是以泰国为代表的东南亚市场。泰国不仅是一个拥有庞大消费者群体的市场&#xff0c;而且其日益增长的互联网使用率和手机普及率使得数码产品的销售潜力巨大。在这样的大背景下&#xff0c;针对泰国市场的…

59、定制化原理-SpringBoot定制化组件的几种方式

59、定制化原理-SpringBoot定制化组件的几种方式 在Spring Boot中&#xff0c;定制化组件的方式多样&#xff0c;以下是几种常见的方法及其原理&#xff1a; #### 修改配置文件 通过修改application.properties或application.yml文件&#xff0c;利用ConfigurationProperties注…

机器学习--分类

阳性&#xff08;Positive&#xff09;和阴性&#xff08;Negative&#xff09; 阳性&#xff08;Positive&#xff09; 正类&#xff1a;通常指的是我们关注的类别或事件&#xff1b;阴性&#xff08;Negative&#xff09; 负类&#xff1a; 指的是与阳性相反的类别或事件。…

三星MZQL2960HCJR-00BAL高性能固态硬盘控制器SSD云计算和高端存储专用 电子元器件解析

MZQL2960HCJR-00BAL 电子元器件解析 1. 基本类型与功能 MZQL2960HCJR-00BAL 是 三星&#xff08;Samsung&#xff09; 推出的一款 企业级NVMe SSD主控芯片&#xff0c;属于 高性能固态硬盘控制器&#xff0c;专为 数据中心、云计算和高端存储 设计。 关键特性&#xff1a; 接…

Blender——建构、粒子、灯光、动画

Blender是一款开源的三维建模和动画软件&#xff0c;可用于创建3D模型、动画、渲染图像和视频&#xff0c;还支持雕刻、纹理绘制、粒子系统等功能。 建构篇&#xff1a; 基本操作&#xff1a; 视角的控制&#xff1a; 控制观察视角: 鼠标中键 平移视图: Shift鼠标中键 缩放视…

节日快乐啊

<section data-role"paragraph" class"_135editor"> <p> <br/> </p> </section> <p> 玛哈特2025中国国际金属成形展览会邀请函 </p><style>* { margin: 0; …

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…

LeetCode - 387. 字符串中的第一个唯一字符

题目 387. 字符串中的第一个唯一字符 - 力扣&#xff08;LeetCode&#xff09; 思路 用哈希表统计每个字符出现的次数 创建一个 unordered_map<char, int>&#xff0c;遍历字符串&#xff0c;把每个字符出现的次数存进去。 再遍历字符串&#xff0c;找到第一个只出现…

python从环境变量和配置文件中获取配置参数

前言 从环境变量和配置文件中获取配置参数&#xff0c;相关库&#xff1a; python-dotenv&#xff1a;第三方库&#xff0c;需要使用pip安装configparser&#xff1a;标准库 代码 test.ini [mysql] host "192.168.0.10" port 3306 user "root" pas…

HarmonyOS5 运动健康app(一):健康饮食(附代码)

一、核心数据模型设计 代码通过两个接口构建了饮食管理的基础数据结构&#xff1a; interface footItem {name: string; // 营养名称&#xff08;蛋白质/碳水/脂肪&#xff09;weight: number; // 重量&#xff08;克&#xff09; }interface DietItem {name: string; // 食物…

MQ选型及RocketMQ架构总览

一、什么是MQ MQ&#xff08;MessageQueue&#xff09; Message(消息)&#xff1a;消息是在不同进程之间传递的数据&#xff0c;这些进程可以在同一台机器上&#xff0c;也可以在不同的机器上。 Queue&#xff08;队列&#xff09;&#xff1a;队列原意是指一种具有FIFO&#…

python与java的区别

java老程序员来学习python了&#xff0c;记录一下两种类型语言的区别&#xff1a; Python与Java变量类型对比 python里面定义变量不需要指定变量的数据类型&#xff0c;并且是可以修改成其他类型java里面定义变量要指定变量的数据类型&#xff0c;指定以后不可以修改成其他数据…

固件签名技术深度解析:HSM模块如何守护设备安全,CAS系统如何赋能产业升级

引言&#xff1a;数字时代的固件安全危机 在万物互联的今天&#xff0c;全球设备固件安全事件频发&#xff1a;某汽车品牌因固件漏洞导致百万车辆被远程控制&#xff0c;某医疗设备厂商因固件篡改引发数据泄露&#xff0c;某工业控制系统因非法固件升级造成生产线瘫痪……这些…

修改Typora快捷键

代码 的默认快捷键为&#xff1a; 这对我来说不太友好&#xff0c;太难按了&#xff0c;而且我电脑右边的Ctrl键坏了&#xff0c;这意味着我只能一个左手去按这3个键的组合&#xff0c;这更是难上加难了&#xff0c;于是想到改一下快捷键&#xff0c;代码块 是Ctrl Shift K&…

Bellman-Ford算法(详解版)

Bellman-Ford算法 Bellman-Ford算法是用来解决,对于有负权的图的**单源最短路径**.因为DJ算法不可以解决对于负权的图,所以使用这个算法来求解.但是依旧不可以有负回路.因为负回路就没有存在单源最短路径这一说. BF的另一个重要的用途就是用来检测**是不是存在负回路** 思路…

《HarmonyOSNext的ForEach数组渲染の核心玩法与避坑指南》

《HarmonyOSNext教学宝典&#xff1a;ForEach数组渲染全攻略与性能优化》 #HarmonyOS开发 #ArkTS实战 #组件解析 &#x1f3af; ForEach组件完全指南&#xff1a;数组循环渲染核心机制 举个栗子&#x1f330;&#xff1a; ForEach相当于智能印刷机&#xff0c;将数组元素自动转…