LeetCode 每日一题 2024/3/11-2024/3/17

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


目录

      • 3/11 2129. 将标题首字母大写
      • 3/12 1261. 在受污染的二叉树中查找元素
      • 3/13 2864. 最大二进制奇数
      • 3/14 2789. 合并后数组中的最大元素
      • 3/15 2312. 卖木头块
      • 3/16 2684. 矩阵中移动的最大次数
      • 3/17


3/11 2129. 将标题首字母大写

从头按规则依次判断
curLen记录当前字母个数
如果遇到空格时少于等于两个则特殊处理
start记录下一个字母是否是首字母

def capitalizeTitle(title):""":type title: str:rtype: str"""start = TruecurLen = 0ans = []for c in title:if c!=" ":if start:ans.append(c.upper())else:ans.append(c.lower())curLen+=1start = Falseelse:start = Trueif curLen<=2:for i in range(curLen):ans[-1-i] = ans[-1-i].lower()curLen=0ans.append(" ")if curLen<=2:for i in range(curLen):ans[-1-i] = ans[-1-i].lower()return ''.join(ans)

3/12 1261. 在受污染的二叉树中查找元素

根据树结构还原
并且存储出现过的数值

class TreeNode(object):def __init__(self, val=0, left=None, right=None):self.val = valself.left = leftself.right = rightclass FindElements(object):def __init__(self, root):""":type root: TreeNode"""self.m = {}root.val = 0self.root = rootl = [root]while l:tmp = []for node in l:v = node.valself.m[v]=1if node.left:node.left.val = v*2+1tmp.append(node.left)if node.right:node.right.val = v*2+2tmp.append(node.right)l=tmp[:]def find(self, target):""":type target: int:rtype: bool"""return target in self.m

3/13 2864. 最大二进制奇数

二进制奇数说明最低位必定为1
统计字符串中1的个数 最低位为1 剩余从高到低往下排

def maximumOddBinaryNumber(s):""":type s: str:rtype: str"""n=len(s)m = s.count("1")return  "1"*(m-1)+"0"*(n-m)+"1"

3/14 2789. 合并后数组中的最大元素

从后往前将元素依次放入一个单调递增的栈
如果当前元素小于等于栈顶元素 说明可以合并

def maxArrayValue(nums):""":type nums: List[int]:rtype: int"""l = []for num in nums[::-1]:if not l or l[-1]<num:l.append(num)else:l[-1]+=numreturn max(l)

3/15 2312. 卖木头块

dp
使用dp[i][j]来存储i*j能够得到的值
按竖着横着切开

def sellingWood(m, n, prices):""":type m: int:type n: int:type prices: List[List[int]]:rtype: int"""dp = [[0]*(n+1) for _ in range(m+1)]for x,y,v in prices:dp[x][y]=vfor i in range(1,m+1):for j in range(1,n+1):for k in range(1,j//2+1):dp[i][j] = max(dp[i][j],dp[i][k]+dp[i][j-k])for k in range(1,i//2+1):dp[i][j] = max(dp[i][j],dp[k][j]+dp[i-k][j])return dp[m][n]

3/16 2684. 矩阵中移动的最大次数

每一步必定往右挪动
dfs 从第一列往后走

def maxMoves(grid):""":type grid: List[List[int]]:rtype: int"""n,m=len(grid),len(grid[0])mem = {}def dfs(i,j):if (i,j) in mem:return mem[(i,j)]v = 0if j+1<m:if grid[i][j+1]>grid[i][j]:v = max(v,1+dfs(i,j+1))if i-1>=0 and grid[i-1][j+1]>grid[i][j]:v = max(v,1+dfs(i-1,j+1))if i+1<n and grid[i+1][j+1]>grid[i][j]:v = max(v,1+dfs(i+1,j+1))mem[(i,j)] = vreturn vans = 0for i in range(n):ans = max(ans,dfs(i,0))return ans

3/17


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

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

相关文章

HTTPS(超文本传输安全协议)工作过程

一、简述HTTPS HTTPS超文本传输协议&#xff08;全称&#xff1a;Hypertext Transfer Protocol Secure &#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#x…

对建造者模式的理解

目录 一、为什么需要建造者模式&#xff1f;1、场景12、场景23、解决上述场景的办法&#xff1a;建造者模式 二、练习1、题目描述 【[来源](https://kamacoder.com/problempage.php?pid1084)】2、输入描述3、输出描述4、输入示例5、输出示例6、参考 三、思考1、一般常用的是lo…

vue 实现下载pdf格式的文件

第一步 安装下载插件 npm install html2canvas jspdf --save第二步 给vue原型上面挂载一个下载页面pdf的方法&#xff1b;在项目工具方法存放文件夹utils中创建htmlToPdf.js文件&#xff0c;代码如下 // 导出页面为PDF格式 import html2Canvas from html2canvas import JsP…

Linux第78步_使用原子整型操作来实现“互斥访问”共享资源

使用原子操作来实现“互斥访问”LED灯设备&#xff0c;目的是每次只允许一个应用程序使用LED灯。 1、创建MyAtomicLED目录 输入“cd /home/zgq/linux/Linux_Drivers/回车” 切换到“/home/zgq/linux/Linux_Drivers/”目录 输入“mkdir MyAtomicLED回车”&#xff0c;创建MyA…

Jmeter---分布式

分布式&#xff1a;多台机协作&#xff0c;以集群的方式完成测试任务&#xff0c;可以提高测试效率。 分布式架构&#xff1a;控制机&#xff08;分发任务&#xff09;与多台执行机&#xff08;执行任务&#xff09; 环境搭建&#xff1a; 不同的测试机上安装 Jmeter 配置基…

2024最新手赚手机软件APP下载排行网站源码及应用商店源码

这是一款简洁蓝色的手机软件下载应用排行、平台和最新发布网站&#xff0c;采用响应式织梦模板。主要包括主页、APP列表页、APP详情介绍页、新闻资讯列表、新闻详情页、关于我们等模块页面。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88898956 更…

政安晨:【深度学习处理实践】(九)—— Transformer架构

咱们接着这个系列的上一篇文章继续&#xff1a; 政安晨&#xff1a;【深度学习处理实践】&#xff08;八&#xff09;—— 表示单词组的两种方法&#xff1a;集合和序列https://blog.csdn.net/snowdenkeke/article/details/136762323 Transformer是一种架构&#xff0c;用于在…

k8s之图形界面DashBoard【九】

文章目录 9. DashBoard9.1 部署Dashboard9.2 使用DashBoard 镇场 9. DashBoard 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实&#xff0c;为了提供更丰富的用户体验&#xff0c;kubernetes还开发了一个基于web的用户界面&#xff08;Dashboard&…

vscode jupyter 如何关闭声音

网上之前搜的zen模式失败 仅仅降低sound失败 #以下是成功方式&#xff1a; 首先确保user和remote的声音都是0&#xff1a; 然后把user和remote的以下设置都设置为off就行了&#xff01; 具体操作参考 https://stackoverflow.com/questions/54173462/how-to-turn-off-or-on-so…

从大模型到Agentscope——分布式Multi-Agent应用开发与部署

目录 Why需要分布式 案例 多进程的分布书版本能快速提升速度 分布式的挑战 AgentScope分布式解决 方案 实现RPC Agent 基于Actor模式的并行调度缺点&#xff1a;需要Agent内部决定消息传递目标 被调用的Agent立即返回占位符placeholder to_dist: 开启自动将单机进行扩展…

5 分钟小工具:使用 dive 分析 docker 镜像

需求 拿到一个镜像之后&#xff0c;我想知道&#xff1a; 分层查看镜像里都有哪些文件各层使用了什么命令构建的这个镜像镜像里比较大的文件有哪些&#xff08;可能需要优化&#xff09; dive 工具介绍 dive 工具可以做这些分析。dive 的 github 地址是 wagoodman/dive&…

观察者模式的理解和引用

1.前言 在之前的H5小游戏中&#xff0c;对于长连接发送的不同类型数据包的处理&#xff0c;是通过switch语句进行处理的&#xff0c;于是在自己的代码中出现了大量的case分支&#xff0c;不方便进行维护和后期的版本迭代。于是在老师的指导下&#xff0c;开始寻求使用观察者模…

SpingBoot集成Rabbitmq及Docker部署

文章目录 介绍RabbitMQ的特点Rabbitmq术语消息发布接收流程 Docker部署管理界面说明Overview: 这个页面显示了RabbitMQ服务器的一般信息&#xff0c;例如集群节点的名字、状态、运行时间等。Connections: 在这里&#xff0c;可以查看、管理和关闭当前所有的TCP连接。Channels: …

Unity Live Capture 中实现面部捕捉同步模型动画

Unity Face Capture 是一个强大的工具&#xff0c;可以帮助你快速轻松地将真实人脸表情捕捉到数字模型中。在本文中&#xff0c;我们将介绍如何在 Unity Face Capture 中实现面部捕捉同步模型动画。 安装 |实时捕获 |4.0.0 (unity3d.com) 安装软件插件 安装 Live Capture 软件…

Linux_网络项目_WEB服务器 处理服务器写入失败后sigpipe信号导致服务器崩溃退出问题,引入线程池缓解大量请求,服务器组件化重构,在线计算机业务测试

文章目录 1. 处理服务器写入管道出错2. 引入线程池缓解大量请求导致服务器崩溃设计线程任务类单例线程池组件设计 3.代码位置4. 在线计算机业务运行截图 1. 处理服务器写入管道出错 经过测试&#xff0c;服务器在读取报文时如果出错可以选择直接关闭这个TCP里链接来节省资源。…

比特币,区块链及相关概念简介(三)

目录 什么是区块链区块链关键特点区块链存在哪里区块链相关的工作主要是做什么呢可以有多个区块链吗区块链网络节点区块链网络有延迟吗区块链和Rust区块链新技术区块链相关网站 以下内容结合了chatgpt 3.5以及网络文章。 用于学习记录。 简介&#xff1a; 什么是区块链&#xf…

【MySQL高级篇】08-事务篇

第13章:事务基础知识 #09-事务的基础知识#1.事务的完成过程 #步骤1&#xff1a;开启事务 #步骤2&#xff1a;一系列的DML操作 #.... #步骤3&#xff1a;事务结束的状态&#xff1a;提交的状态(COMMIT) 、 中止的状态(ROLLBACK)#2. 显式事务#2.1 如何开启&#xff1f; 使用关键…

项目分享--NO.1

搭建高可用的web集群.部署网站 包含数据库,ceph/nfs,haproxy,keepalived,ansible部署 1,配置ansible管理环境 创建工作目录,编写ansible配置文件,和主机清单文件,yum配置文件 将yum文件到控制机上,然后用模块上传到被管理机器上 #vim 01-upload-repo.yml --- - name: confi…

柚见十三期(优化)

前端优化 加载匹配功能与加载骨架特效 骨架屏 : vant-skeleton index.vue中 /** * 加载数据 */ const loadData async () > { let userListData; loading.value true; //心动模式 if (isMatchMode.value){ const num 10;//推荐人数 userListData await myA…

基于SpringBoot框架实现的B2B平台的医疗病历交互系统

采用技术 基于SpringBoot框架实现的B2B平台的医疗病历交互系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 管理员角色 医院管理 医院注册 医院文…