LeetCode 每日一题 2023/3/13-2023/3/19
创始人
2025-05-30 03:54:23

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


目录

      • 3/13 2383. 赢得比赛需要的最少训练时长
      • 3/14 1605. 给定行和列的和求可行矩阵
      • 3/15 1615. 最大网络秩
      • 3/16 2488. 统计中位数为 K 的子数组
      • 3/17 2389. 和有限的最长子序列
      • 3/18 1616. 分割两个字符串得到回文串
      • 3/19


3/13 2383. 赢得比赛需要的最少训练时长

一次遍历 如果无法击败则增加训练时间

def minNumberOfHours(initialEnergy, initialExperience, energy, experience):""":type initialEnergy: int:type initialExperience: int:type energy: List[int]:type experience: List[int]:rtype: int"""ans = 0curen,curex = initialEnergy,initialExperiencefor i in range(len(energy)):print(i,ans,curen,curex)if curex<=experience[i]:ans += experience[i]+1-curexcurex = experience[i]+1curex += experience[i]curen -= energy[i]if curen<=0:ans =ans - curen+1curen=1return ans

3/14 1605. 给定行和列的和求可行矩阵

既然必定存在一个答案 各行和总数=各列和总数
目的是找到分配数值的方案
根据n,m = len(rowSum),len(colSum)
我们可以知道答案是一个n*m的矩阵
1.可以先将列之和分配到第一行的各列之中
例:rowSum = [5,7,10], colSum = [8,6,8]
8,6,8
0,0,0
0,0,0

此后数值的增减操作只在同一列中进行
所以每列之和已经满足条件不需要再考虑
2.依次根据rowSum 通过减去数值来使该行和满足条件
减去的数值增加到该列中的下一行中(列之和不变)
处理第一行
5,0,0
3,6,8
0,0,0

处理第二行
5,0,0
3,4,0
0,2,8

此时第三行自动满足条件

def restoreMatrix(rowSum, colSum):""":type rowSum: List[int]:type colSum: List[int]:rtype: List[List[int]]"""n,m = len(rowSum),len(colSum)ans = [[0]*m for _ in range(n)]ans[0] = colSum[:]for i in range(n-1):target = rowSum[i]for j in range(m):if target>=ans[i][j]:target-=ans[i][j]else:tmp = ans[i][j]ans[i][j] = targetans[i+1][j] = tmp-targettarget = 0return ans

3/15 1615. 最大网络秩

遍历所有路 记录每个节点拥有的道路 以及其连接的其他节点
选取两两节点 计算其拥有的秩

def maximalNetworkRank(n, roads):""":type n: int:type roads: List[List[int]]:rtype: int"""from collections import defaultdictway = defaultdict(int)nxt = defaultdict(set)for i,j in roads:way[i]+=1way[j]+=1nxt[i].add(j)nxt[j].add(i)ans = 0for i in range(n-1):for j in range(i+1,n):tmp = way[i]+way[j]if j in nxt[i]:tmp-=1ans = max(ans,tmp)return ans

3/16 2488. 统计中位数为 K 的子数组

根据题意k是必须选择的
找到k的位置
该位置标签设定为0
分别向左右判断标签 比k大的+1 比k小的-1
记录左右各个位置标签状态
从左右分别选取一个位置标签 使其相加等于0或1 可以满足条件

def countSubarrays(nums, k):""":type nums: List[int]:type k: int:rtype: int"""from collections import defaultdictn = len(nums)ind = 0left,right=defaultdict(int),defaultdict(int)for i in range(n):if nums[i]==k:ind=ibreakcur = 0for i in range(ind+1,n):if nums[i]

3/17 2389. 和有限的最长子序列

排序后 前缀和
从前缀和序列中寻找

def answerQueries(nums, queries):""":type nums: List[int]:type queries: List[int]:rtype: List[int]"""from itertools import accumulateimport bisectnums.sort()s = list(accumulate(nums))return [bisect.bisect_right(s, q) for q in queries]

3/18 1616. 分割两个字符串得到回文串

长度为n
双指针i,j 一个从a头部开始 一个从b尾部开始
两指针同时向中间移动 直到i,j交叉i>=j 或者遇到不同字符

def checkPalindromeFormation(a, b):""":type a: str:type b: str:rtype: bool"""n = len(a)def check(a,b):i,j=0,n-1while i=j or a[i:j+1]==a[i:j+1][::-1] or b[i:j+1]==b[i:j+1][::-1]return check(a,b) or check(b,a)

3/19


相关内容

热门资讯

汽车产业已经有“恒大”了?价格... 中国汽车产业即将迎来重大考验!近日,以直率著称的长城汽车董事长魏建军在接受媒体专访时,发出惊人警告:...
九牧的三重跃升:新场景、新智造... AI时代,中国卫浴加速征战世界。文 | 华商韬略 熊剑辉当上过春晚的宇树人形机器人,化身“礼仪小姐姐...
限流|限流算法 一、概念限流顾名思义,就是对请求或并发数进行限制;通过对一个时间窗口内的...
浙江金融反腐风暴:工行浙江分行... 靴子落地。5月30日,据中央纪委国家监委驻中国工商银行纪检监察组、辽宁省纪委监委消息:中国工商银行浙...
四年前收购的一家公司,如今要上... 这位实控人四年前收购了个企业,现在就准备让公司在港交所上市了!5月29日,港交所官网披露,江苏日御光...
美的集团董事长方洪波:小米进入... 5月30日,美的集团(000333.SZ、00300.HK,简称美的)董事长兼总裁方洪波在美的集团2...
产品研发利好引发连日大涨 舒泰... 新京报贝壳财经讯(记者丁爽)5月30日,舒泰神再度大涨收场。至当日收盘,公司股价涨15.02%,报2...
sql 标准的隔离级别 事务并发执行时遇到的一致性问题脏读(Dirty Read)如果一个事务读...
【读书笔记】电子商务 目录1,四种业务模式2,三种电商模式2.1 运营模式:“流...
5月收官,个股平均涨5%!机构... A股5月收官,全月大盘维持震荡,概念题材热点飞速轮动。今年的5月并不是“5穷”,两市5000余只个股...
说到底,钱生钱就这4个办法|小... 点击 “简七读财” ,发送消息“理财小工具”免费领取40个赚钱工具资源包~晚上好呀~不少朋友吐槽,...
一杯咖啡3块钱,“外卖补贴”带... 本文来源:时代周报 作者:孙艺格 图源:库迪咖啡官网1元的超大杯奶茶、1.68元的美式咖啡、2.6...
中国联塑创始人之子上任执行董事... 一则人事变动,让国内管道建材头部企业中国联塑集团控股有限公司(以下简称“中国联塑”)受到关注。中国联...
谷粒学院SpringSecur... 登录功能前端分析前端会调用此接口去实现登录// 登录export function login(us...
【基于协同过滤算法的推荐系统项... 本文目录1、推荐系统的关键元素1.1 数据1.2 算法1.3 业务领域1.4 展示信息2、推荐算法的...
公告精选丨中国交建:拟以5亿元... 今日焦点中国交建:拟以5亿元-10亿元回购公司A股股份中国交建公告称,公司拟不低于5亿元,不超过10...
javascript数组常用方... 数组对于程序语言的重要性自不必多说,而在使用javascript的时候难免也会需要用到...
SpringBoot学习--基... 本专栏主要记录SpringBoot学习之路 文章目录1 SpringBoot基本介绍1.1 官方文档...
重组停牌!渤海汽车拟购海纳川旗... 5月30日,渤海汽车(600960.SH)发布公告称,公司拟通过发行股份及支付现金的方式,购买北京海...
Spring学习(五) 事物管理: 一、事物管理的回顾: 1、事物的概念: 事物&...
java线程同步 并发:同一个对象被多个线程同时操作处理多线程问题时,多个线程访问同一个对...
代码审计(二) 一、DevSecOps的概念DevSecOps 是描述开发、安全和运营集成的术语。它是一种文化、自动...
西安高新“楼市新政”,一场“教... 第 2302期〡2025/05/30西安各区域的土地市场和区域价值或将重新洗牌。上周,西安高新区一份...
603023,下周复牌!正式摘... 2025.05.30本文字数:855,阅读时长大约2分钟5月30日,*ST威帝公告称,公司股票将于2...
第十章 STM32+ESP82... 前言 最近有不少小伙伴私信留言,想要我推出一章能够通过APP进行远程控制并获取传感器信...
试题 算法训练 逗志芃的暴走 问题描述   逗志芃是有妹子的现充,但是有时候妹子就是烦恼。因为逗志芃太逗了ÿ...
德邦证券董事会改组完成,山东财... 山东财金集团披露,5月29日,德邦证券在济南召开2025年度第一次临时股东会,会议选举产生公司新一届...
法网:郑钦文2-0胜资格赛黑马... 北京时间5月30日,2025赛季网球大满贯法国公开赛继续进行,在女单第三轮的一场比赛中,赛会8号种子...
宗馥莉接手父亲名下娃哈哈实业公... 天眼查App显示,近日,浙江娃哈哈实业股份有限公司发生工商变更,宗庆后卸任法定代表人、董事长、总经理...
北交所上市公司恒拓开源大宗交易... 每经讯,2025年5月30日,北交所上市公司恒拓开源(834415,收盘价:17.83元)发生一笔大...