LeetCode 每日一题 2024/5/20-2024/5/26

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


目录

      • 5/20 1542. 找出最长的超赞子字符串
      • 5/21 2769. 找出最大的可达成数字
      • 5/22 2225. 找出输掉零场或一场比赛的玩家
      • 5/23 2831. 找出最长等值子数组
      • 5/24 1673. 找出最具竞争力的子序列
      • 5/25 2903. 找出满足差值条件的下标 I
      • 5/26


5/20 1542. 找出最长的超赞子字符串

要组成回文串
如果字符串个数为偶数 所有字符出现次数都要为偶数次
如果字符串个数为奇数 只有一个字符出现次数为奇数次
使用异或前缀和mask=pre[i] 来记录字符串s[:i]中数字出现的奇偶性
对于某个子字符串i:j 只需pre[i]^pre[j]
使用map记录所有mask第一次出现的位置

def longestAwesome(s):""":type s: str:rtype: int"""n=len(s)pos = [n]*(1<<10)pos[0]=-1ans = 0pre = 0for i,x in enumerate(map(int,s)):pre ^= 1<<xans = max(ans,i-pos[pre],max(i-pos[pre^(1<<d)] for d in range(10)))if pos[pre]==n:pos[pre]=ireturn ans

5/21 2769. 找出最大的可达成数字

可达数字尽可能大
那么需要t此操作 num每次增1 可达数字每次减1
即num+2*t

def theMaximumAchievableX(num, t):""":type num: int:type t: int:rtype: int"""return num+2*t

5/22 2225. 找出输掉零场或一场比赛的玩家

zero存储没有输掉比赛的玩家 one存储输掉了一场的玩家
other存储输掉超过一场的玩家

def findWinners(matches):""":type matches: List[List[int]]:rtype: List[List[int]]"""zero,one=set(),set()other = set()for w,l in matches:if w not in other and w not in one:zero.add(w)if l in zero:zero.remove(l)one.add(l)elif l in one:one.remove(l)other.add(l)elif l not in other:one.add(l)return [sorted(list(zero)),sorted(list(one))]

5/23 2831. 找出最长等值子数组

将相同的数值坐标放入一个数组pos中
在该数组中滑动窗口 判断相同数值最多能有几个相连
对于pos[l] pos[r]中间的情况需要删除
子数组长度为pos[r]-pos[l]+1
相同的有r-l+1个
所以需要删掉的数为 pos[r]-pos[l]-(r-l)

def longestEqualSubarray(nums, k):""":type nums: List[int]:type k: int:rtype: int"""from collections import defaultdictpos = defaultdict(list)for i,num in enumerate(nums):pos[num].append(i)ans = 0for cur in pos.values():if len(cur)<=ans:continuel = 0for r in range(len(cur)):while cur[r]-cur[l]-(r-l)>k:l+=1ans = max(ans,r-l+1)return ans

5/24 1673. 找出最具竞争力的子序列

从头遍历 用一个栈来存储当前序列
如果当前值x小于栈顶的值 且 弹出栈顶的值加上剩余元素能够大于k则弹出
如果栈的大小小于k 则x入栈

def mostCompetitive(nums, k):""":type nums: List[int]:type k: int:rtype: List[int]"""st=[]for i,x in enumerate(nums):while st and x<st[-1] and len(st)+len(nums)-i>k:st.pop()if len(st)<k:st.append(x)return st

5/25 2903. 找出满足差值条件的下标 I

个数小于100个 双层循环遍历

def findIndices(nums, indexDifference, valueDifference):""":type nums: List[int]:type indexDifference: int:type valueDifference: int:rtype: List[int]"""n=len(nums)for i in range(n-indexDifference):for j in range(i+indexDifference,n):if abs(nums[i]-nums[j])>=valueDifference:return [i,j]return [-1,-1]

5/26


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

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

相关文章

PostgreSQL用户与角色简述

简述 PostgreSQL通过角色&#xff08;role&#xff09;来控制数据库的访问权限。角色可以拥有数据库对象&#xff08;比如表、函数等&#xff09;&#xff0c;并允许将这些对象的权限授予其他角色&#xff0c;从而实现对象访问的控制。角色&#xff08;role&#xff09;包含了…

19、设计模式之命令模式

命令模式 命令模式&#xff08;Command Pattern&#xff09;是一种数据驱动的设计模式&#xff0c;它属于行为型模式。请求以命令的形式包裹在对象中&#xff0c;并传给调用对象。调用对象寻找可以处理该命令的合适的对象&#xff0c;并把该命令传给相应的对象&#xff0c;该对…

虹科Pico汽车示波器 | 免拆诊断案例 | 2012 款雪佛兰科鲁兹车偶尔多个故障灯异常点亮

故障现象 一辆2012款雪佛兰科鲁兹车&#xff0c;搭载1.8 L 发动机&#xff0c;累计行驶里程约为9.6万km。该车组合仪表上的发动机故障灯、ABS故障灯及动力转向故障灯偶尔异常点亮&#xff0c;同时发动机转速表和发动机冷却液温度表的指针会突然归零&#xff0c;严重时发动机无…

独享IP是原生IP吗?二者有何区别?

原生IP&#xff1a; 原生IP是指由Internet服务提供商&#xff08;ISP&#xff09;直接分配给用户的IP地址&#xff0c;这些IP地址通常反映了用户的实际地理位置和网络连接。原生IP是用户在其所在地区或国家使用的真实IP地址&#xff0c;与用户的物理位置直接相关。在跨境电商中…

C++ 学习 关于无符号数的计算

C 学习 关于含无符号数表达式的计算 &#x1f308; 哈喽&#xff0c;失踪人口回归 这篇blog 来源于C 的学习 当然C语言同样适用 C Primer 的笔记 &#x1f33f;让我们从一个问题开始 如果你回答对了 那么就可以跳过了~ 对于下面的问题 //读程序写结果。 unsigned u 10,u2 42…

牛客NC367 第K个n的排列【困难 dfs,全排列问题 Java/Go/PHP/C++】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/1595969179464e4c940a90b36abb3c54 思路 全排列问题本文提供的答案在力扣同一道题60. 排列序列&#xff0c;超时了但是截止文章发表日&#xff0c;牛客上是能通过全部测试用例的Java代码 import java.util.*;pu…

Redis - 优惠卷秒杀

场景分析 为了避免对数据库造成压力&#xff0c;我们在新增优惠卷的时候&#xff0c;可以将优惠卷的信息储存在Redis中&#xff0c;这样用户抢购的时候访问优惠卷信息&#xff0c;通过Redis读取信息。 抢购流程&#xff1a; 业务分析 既然在新增优惠卷的时候&#xff0c;我…

【c语言】了解指针,爱上指针(5)

了解指针&#xff0c;爱上指针&#xff08;5&#xff09; 回调函数qsort函数冒泡排序模拟实现qsort函数 回调函数 回调函数&#xff1a;就是一个通过函数指针调用的函数。 把函数的指针作为参数传给另一个函数&#xff0c;当这个指针被用来调用指向的函数时&#xff0c;此时被…

【Kotlin 一】Kotlin入门知识简介、变量声明、数字类型

1. Kotlin简介 Kotlin旨在解决 Java语言在编码效率和代码质量上存在的问题&#xff0c;并且与Java语言完全兼容。Kotlin通过简化语法、提供更强大的函数以及减少样本代码的编写&#xff0c;使开发者能够更高效地编写代码。Kotlin适用于Android、Web后端开发等多种场景 2.Kotl…

PHP获取文件路径getcwd()、__DIR__、__FILE__的区别

getcwd() getcwd() 是一个函数&#xff0c;它返回当前工作目录&#xff08;CWD&#xff09;的完整路径。当前工作目录是脚本开始执行时所在的目录&#xff0c;除非在脚本执行过程中通过 chdir() 函数进行了更改。 $cwd getcwd(); echo $cwd; // 输出当前工作目录的完整路径…

驱动编译报error: negative width in bit-field ‘<anonymous>’错误

错误如下图所示&#xff1a; 代码如下&#xff1a; 问题点&#xff1a;module_param的其他用户的权限参数上。 在Linux中&#xff0c;文件权限由读(r)、写(w)、执行(x)权限组成&#xff0c;分别对应数值4、2、1。 第一位0是占位符&#xff0c;在这里没有意义&#xff0c;因为…

ARM PMU - Performance Monitor Unit 用途和原理

From&#xff1a;程序员秘书 ARM Performance Monitor Unit (PMU) 是一种硬件组件&#xff0c;用于跟踪和计数系统中的底层硬件事件。集成在ARM架构的处理器中&#xff0c;用于监控和度量处理器及系统性能的关键指标。它对于性能分析、调试、能耗管理和优化软件性能至关重要。…

如何使用DotNet-MetaData识别.NET恶意软件源码文件元数据

关于DotNet-MetaData DotNet-MetaData是一款针对.NET恶意软件的安全分析工具&#xff0c;该工具专为蓝队研究人员设计&#xff0c;可以帮助广大研究人员轻松识别.NET恶意软件二进制源代码文件中的元数据。 工具架构 当前版本的DotNet-MetaData主要由以下两个部分组成&#xf…

java图书电子商务网站的设计与实现源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的图书电子商务网站的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 图书电子商…

基于附带Attention机制的seq2seq模型架构实现英译法的案例

模型架构 先上图 我们这里选用GRU来实现该任务&#xff0c;因此上图的十个方框框都是GRU块&#xff0c;如第二张图&#xff0c;放第一张图主要是强调编码器的输出是作用在解码器每一次输入的观点&#xff0c;具体的详细流程图将在代码实现部分给出。 编码阶段 1. 准备工作…

【C++进阶】AVL树

0.前言 前面我们已经学习过二叉搜索树了&#xff0c;但如果我们是用二叉搜索树来封装map和set等关联式容器是有缺陷的&#xff0c;很可能会退化为单分支的情况&#xff0c;那样效率就极低了&#xff0c;那么有没有方法来弥补二叉搜索树的缺陷呢&#xff1f; 那么AVL树就出现了&…

6.小程序页面布局 - 账单明细

文章目录 1. 6.小程序页面布局 - 账单明细1.1. 竞品1.2. 布局分析1.3. 布局demo1.4. 页面实现-头部1.5. 账单明细1.5.1. 账单明细-竞品分析1.5.2. 账单明细-实现1.5.2.1. 账单明细-实现-mock数据1.5.2.2. 每日收支数据的聚合整理1.5.2.3. 页面scroll-view 1.6. TODO 1. 6.小程序…

java —— 封装、继承、接口和多态

一、封装 封装是将数据和操作这些数据的方法整合成一个类。在这个类中&#xff0c;用 private 修饰符将某些数据隐藏起来&#xff0c;只通过特定的方法实现这些数据的访问和修改&#xff0c;以此实现数据的完整和安全性。 封装的步骤&#xff1a; 二、继承 继承是指把子类共有…

Meta发布Chameleon模型预览,挑战多模态AI前沿

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【数据结构与算法】之堆的应用——堆排序及Top_K问题!

目录 1、堆排序 2、Top_K问题 3、完结散花 个人主页&#xff1a;秋风起&#xff0c;再归来~ 数据结构与算法 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己&#xff0c;律己则安&#xff01; 1、堆排序 对一个无序的数组…