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

LeetCode 每日一题 2024/6/17-2024/6/23

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


目录

      • 6/17 522. 最长特殊序列 II
      • 6/18 2288. 价格减免
      • 6/19 2713. 矩阵中严格递增的单元格数
      • 6/20 2748. 美丽下标对的数目
      • 6/21 LCP 61. 气温变化趋势
      • 6/22 2663. 字典序最小的美丽字符串
      • 6/23 520. 检测大写字母


6/17 522. 最长特殊序列 II

check(a,b)判断b是否包含子序列a
较长的序列肯定不是短序列的子序列
将数组内序列从长倒短排序
判断某一序列是否满足独有子序列条件

def findLUSlength(strs):""":type strs: List[str]:rtype: int"""def check(a,b):loca,locb = 0,0while loca<len(a) and locb<len(b):if a[loca]==b[locb]:loca+=1locb+=1return loca==len(a)strs.sort(key=lambda x:len(x),reverse=True)for i,s in enumerate(strs):tag = Truefor j,t in enumerate(strs):if len(t)<len(s):breakif i!=j and check(s,t):tag = Falsebreakif tag:return len(s)return -1

6/18 2288. 价格减免

按空格分词
判断一个单词是否是价格 如果是价格那么打折

def discountPrices(sentence, discount):""":type sentence: str:type discount: int:rtype: str"""l=sentence.split(" ")ans = []for s in l:if s[0]=="$"and s[1:].isdigit():v = float(s[1:])*(100-discount)/100ans.append("$"+format(v,'.2f'))else:ans.append(s)return ' '.join(ans)

6/19 2713. 矩阵中严格递增的单元格数

row,col分别记录每一行 每一列的结果最大值
mp[v]记录数值v出现的位置
将数值v从小打到排序考虑
对于位置i,j 他的值为row[i] col[j]最大值+1
同时更新这个位置的最大值row,col

def maxIncreasingCells(mat):""":type mat: List[List[int]]:rtype: int"""from collections import defaultdictmp=defaultdict(list)m,n=len(mat),len(mat[0])row = [0]*mcol = [0]*nfor i in range(m):for j in range(n):mp[mat[i][j]].append((i,j))for _,pos in sorted(mp.items(),key=lambda x:x[0]):ans = [max(row[i],col[j])+1 for i,j in pos]for (i,j),d in zip(pos,ans):row[i]=max(row[i],d)col[j]=max(col[j],d)return max(row)

6/20 2748. 美丽下标对的数目

gcd得到两数最大公约数
m[x]记录第一个数字为x的元素个数
从前往后依次分析

def countBeautifulPairs(self, nums):""":type nums: List[int]:rtype: int"""def gcd(x,y):if x<y:x,y=y,xwhile True:x,y=y,x%yif y==0:return xans = 0m = [0]*10for num in nums:for v in range(1,10):if gcd(num%10,v)==1:ans += m[v]while num>=10:num//=10m[num]+=1return ans

6/21 LCP 61. 气温变化趋势

使用-1表示下降 0表示平稳 1表示上升
cur 记录变化趋势连续相同的天数

def temperatureTrend(temperatureA, temperatureB):""":type temperatureA: List[int]:type temperatureB: List[int]:rtype: int"""def func(x,y):if x==y:return 0return -1 if x>y else 1n = len(temperatureA)ans = cur = 0for i in range(1,n):a = func(temperatureA[i-1],temperatureA[i])b = func(temperatureB[i-1],temperatureB[i])if a==b:cur +=1ans = max(ans,cur)else:cur = 0return ans

6/22 2663. 字典序最小的美丽字符串

回文串判断s[i]!=s[i-1] s[i]!=s[i-2]即可
字典序最小 尽量改右侧的字符

def smallestBeautifulString(s, k):""":type s: str:type k: int:rtype: str"""k += ord('a')s = list(map(ord,s))n=len(s)i = n-1s[i]+=1while i<n:if s[i]==k:if i==0:return ""s[i]=ord('a')i-=1s[i]+=1elif i and s[i]==s[i-1] or i>1 and s[i]==s[i-2]:s[i]+=1else:i+=1return ''.join(map(chr,s))

6/23 520. 检测大写字母

依次判断三个条件
全是大写;全是小写;首字母大写,后续小写

def detectCapitalUse(word):""":type word: str:rtype: bool"""if word==str.upper(word):return Trueif word==str.lower(word):return Trueif 'A'<=word[0]<='Z' and word[1:]==str.lower(word[1:]):return Truereturn False

相关文章:

  • ChatGPT 简介
  • 日语 13 14
  • ping命令返回结果实例分析
  • K8S - 理解ClusterIP - 集群内部service之间的反向代理和loadbalancer
  • 深入解析Linux Bridge:原理、架构、操作与持久化配置
  • PAL: Program-aided Language Models
  • Python爬虫实战案例之——MySql数据入库
  • 【数据库】六、事务与并发控制(封锁)
  • 麒麟移动运行环境(KMRE)——国内首个开源的商用移固融合“Android生态兼容环境”正式开源
  • Cyber Weekly #12
  • 电压互感器在线监测
  • 线性卷积(相关)和圆周卷积(相关)以及FFT之间的关系(AEC举例)
  • Linux使用——查看发行版本、内核、shell类型等基本命令
  • 政务云VMware私有云企业云平台建设参考学习方案资料
  • ModbusTcp和ModbusRtu协议
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 〔开发系列〕一次关于小程序开发的深度总结
  • github从入门到放弃(1)
  • JavaScript 基本功--面试宝典
  • Java比较器对数组,集合排序
  • Laravel核心解读--Facades
  • Phpstorm怎样批量删除空行?
  • sublime配置文件
  • Unix命令
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 基于 Babel 的 npm 包最小化设置
  • 前端面试总结(at, md)
  • 什么软件可以剪辑音乐?
  • 使用 QuickBI 搭建酷炫可视化分析
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 我是如何设计 Upload 上传组件的
  • 原生js练习题---第五课
  • ​​​【收录 Hello 算法】9.4 小结
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​Python 3 新特性:类型注解
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #include<初见C语言之指针(5)>
  • (2.2w字)前端单元测试之Jest详解篇
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (day 12)JavaScript学习笔记(数组3)
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (未解决)macOS matplotlib 中文是方框
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • ../depcomp: line 571: exec: g++: not found
  • .net MVC中使用angularJs刷新页面数据列表
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @property @synthesize @dynamic 及相关属性作用探究
  • @vue/cli脚手架