Leetcode周赛 | 2023-8-6
2023-8-6
- 题1
- 体会
- 我的代码
- 题2
- 我的超时代码
- 题目
- 体会
- 我的代码
- 题3
- 体会
- 我的代码
题1
体会
这道题完全就是唬人,只要想明白了,只要有两个连续的数的和,大于target,那么一定可以,两边一次切一个就好了。
我的代码
题2
我的超时代码
尽力了,想不出来别的方法,只能通过一半的测试用例,其他超时。
将向左和向下的代码去掉后,因为我觉得向左和向右是无意义的,通过的用例多了一些,但还是超时。
class Solution:def maximumSafenessFactor(self, grid: List[List[int]]) -> int:note = []m = len(grid)n = len(grid[0])for i in range(m):for j in range(n):if grid[i][j] == 1 :note.append([i,j])if i == 0 and j == 0 :return 0if i == m-1 and j == n-1 :return 0self.mm = 0i = j = 0mini = infself.dfs(grid,i,j,mini,note,m,n)return self.mmdef dfs(self,grid,i,j,mini,note,m,n):if i < 0 or i >= m or j < 0 or j >= n :returnif grid[i][j] == 2 :returntemp = [[p[0]-i,p[1]-j] for p in note] for k in temp :mini = min(mini,abs(k[0])+abs(k[1]))if mini <= self.mm :returnif i == m-1 and j == n-1 :self.mm = max(self.mm,mini)return grid[i][j] = 2self.dfs(grid,i+1,j,mini,note,m,n)self.dfs(grid,i-1,j,mini,note,m,n)self.dfs(grid,i,j+1,mini,note,m,n)self.dfs(grid,i,j-1,mini,note,m,n)grid[i][j] = 0
改成了动态规划的方法,还是解答错误,但是通过的用例更多了
(983 / 1035)
class Solution:def maximumSafenessFactor(self, grid: List[List[int]]) -> int:note = []m = len(grid)n = len(grid[0])for i in range(m):for j in range(n):if grid[i][j] == 1 :note.append([i,j])if i == 0 and j == 0 :return 0if i == m-1 and j == n-1 :return 0dp = [[0]*(n) for _ in range(m)]for i in range(0,m):for j in range(0,n):mini = inftemp = [[p[0]-(i),p[1]-(j)] for p in note] for k in temp :mini = min(mini,abs(k[0])+abs(k[1]))''' if mini < dp[i-1][j] and mini < dp[i][j-1] :dp[i][j] = minielif mini > dp[i-1][j] and mini > dp[i][j-1] :dp[i][j] = max(dp[i-1][j],dp[i][j-1])else :dp[i][j] = mini'''if i == 0 and j != 0:kk = dp[i][j-1]elif j == 0 and i!=0:kk = dp[i-1][j]elif j == 0 and i==0:kk = infelse :kk = max(dp[i-1][j],dp[i][j-1])if mini < kk :dp[i][j] = minielse :dp[i][j] = kk#return dpreturn dp[-1][-1]
两次动归也不对。
class Solution:def maximumSafenessFactor(self, grid: List[List[int]]) -> int:note = []m = len(grid)n = len(grid[0])for i in range(m):for j in range(n):if grid[i][j] == 1 :note.append([i,j])if i == 0 and j == 0 :return 0if i == m-1 and j == n-1 :return 0dp = [[0]*(n) for _ in range(m)]for i in range(0,m):for j in range(0,n):mini = inftemp = [[p[0]-(i),p[1]-(j)] for p in note] for k in temp :mini = min(mini,abs(k[0])+abs(k[1]))''' if mini < dp[i-1][j] and mini < dp[i][j-1] :dp[i][j] = minielif mini > dp[i-1][j] and mini > dp[i][j-1] :dp[i][j] = max(dp[i-1][j],dp[i][j-1])else :dp[i][j] = mini'''if i == 0 and j != 0:kk = dp[i][j-1]elif j == 0 and i!=0:kk = dp[i-1][j]elif j == 0 and i==0:kk = infelse :kk = max(dp[i-1][j],dp[i][j-1])if mini < kk :dp[i][j] = minielse :dp[i][j] = kkdp2 = [[0]*(n) for _ in range(m)]for i in range(m-1,-1,-1):for j in range(n-1,-1,-1):mini = inftemp = [[p[0]-(i),p[1]-(j)] for p in note] for k in temp :mini = min(mini,abs(k[0])+abs(k[1]))''' if mini < dp[i-1][j] and mini < dp[i][j-1] :dp[i][j] = minielif mini > dp[i-1][j] and mini > dp[i][j-1] :dp[i][j] = max(dp[i-1][j],dp[i][j-1])else :dp[i][j] = mini'''if i == m-1 and j != n-1:kk = dp[i][j+1]elif j == n-1 and i!=m-1:kk = dp[i+1][j]elif j == n-1 and i==m-1:kk = infelse :kk = max(dp[i+1][j],dp[i][j+1])if mini < kk :dp[i][j] = minielse :dp[i][j] = kk#return dpreturn max(dp[-1][-1],dp2[-1][-1])
题目
体会
不能用DP的原因:
因为不仅可以向右和向下走,还可以向上和向左,所以不能dp。
从来没接触过这道题的解法,也看不懂。
class UnionFind:def __init__(self, n):self.parent = list(range(n))def find(self, a):a = self.parent[a]acopy = awhile a != self.parent[a]:a = self.parent[a]while acopy != a:self.parent[acopy], acopy = a, self.parent[acopy]return adef merge(self, a, b):pa, pb = self.find(a), self.find(b)if pa == pb: return Falseself.parent[pb] = pareturn Trueclass Solution:def maximumSafenessFactor(self, grid: List[List[int]]) -> int:n = len(grid)dist = [[inf] * n for _ in range(n)]tmp = deque([(i, j) for i in range(n) for j in range(n) if grid[i][j]])for i, j in tmp:dist[i][j] = 0while tmp:i, j = tmp.popleft()for dx, dy in pairwise([-1, 0, 1, 0, -1]):if 0 <= i + dx < n and 0 <= j + dy < n and dist[i+dx][j+dy] == inf:dist[i+dx][j+dy] = dist[i][j] + 1tmp.append((i+dx, j+dy))l, r = 0, 2 * n - 2while l <= r:m = (l + r) // 2union = UnionFind(n * n)for i in range(n):for j in range(n):if dist[i][j] >= m:if i < n - 1 and dist[i+1][j] >= m: union.merge(i * n + j, (i + 1) * n + j)if j < n - 1 and dist[i][j+1] >= m: union.merge(i * n + j, i * n + j + 1)if union.find(0) == union.find(n * n - 1): l = m + 1else: r = m - 1return r
我的代码
题3
体会
class Solution:def findMaximumElegance(self, items: List[List[int]], k: int) -> int:items.sort(reverse=True)chosen = set()to_delete = []tot = 0for i in range(k):x, t = items[i]tot += xif t in chosen: heappush(to_delete, x)else: chosen.add(t)ans = tot + len(chosen) ** 2for i in range(k, len(items)):x, t = items[i]if t not in chosen and len(to_delete):chosen.add(t)tot -= heappop(to_delete)tot += xans = max(ans, tot + len(chosen) ** 2)return ans
我的代码
相关文章:
![](https://img-blog.csdnimg.cn/492f4713a86f464888227ea518c553c4.png#pic_center)
Leetcode周赛 | 2023-8-6
2023-8-6 题1体会我的代码 题2我的超时代码题目体会我的代码 题3体会我的代码 题1 体会 这道题完全就是唬人,只要想明白了,只要有两个连续的数的和,大于target,那么一定可以,两边一次切一个就好了。 我的代码 题2 我…...
![](https://img-blog.csdnimg.cn/725c3f502fc744b2b0a53249502e7c5c.png)
ts中interface自定义结构约束和对类的约束
一、interface自定义结构约束对后端接口返回数据 // interface自定义结构 一般用于较复杂的结构数据类型限制 如后端返回的接口数据// 首字母大写;用分割号隔开 interface Iobj{a:number;b:string } let obj:Iobj {a:1,b:2 }// 复杂类型 模拟后端返回的接口数据 interface Il…...
![](https://img-blog.csdnimg.cn/7c7295fd8ee342ccb45dffdbfdf4b48a.png)
Oracle单实例升级补丁
目录 1.当前DB环境2.下载补丁包和opatch的升级包3.检查OPatch的版本4.检查补丁是否冲突5.关闭数据库实例,关闭监听6.应用patch7.加载变化的SQL到数据库8.ORACLE升级补丁查询 oracle19.3升级补丁到19.18 1.当前DB环境 [oraclelocalhost ~]$ cat /etc/redhat-releas…...
![](https://img-blog.csdnimg.cn/fa53e33f57ee4d46ac3cb4b3e0a4806f.png)
力扣初级算法(二分查找)
力扣初级算法(二分法): 每日一算法:二分法查找 学习内容: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 2.二分查找流程&…...
![](https://img-blog.csdnimg.cn/2f226454f7ad401aa47ce88e80657341.png#pic_center)
探索未来:直播实时美颜SDK在增强现实(AR)直播中的前景
在AR直播中,观众可以与虚拟元素实时互动,为用户带来更加丰富、沉浸式的体验。那么,直播美颜SDK在AR中有哪些应用呢?下文小编将于大家一同探讨美颜SDK与AR有哪些关联。 一、AR直播与直播实时美颜SDK的结合 增强现实技术在直播中…...
![](https://www.ngui.cc/images/no-images.jpg)
SQL 单行子查询 、多行子查询、单行函数、聚合函数 IN 、ANY 、SOME 、ALL
单行子查询 子查询结果是 一个列一行记录 select a,b,c from table where a >(select avg(xx) from table ) 还支持这种写法,这种比较少见 select a,b,c from table where (a ,b)(select xx,xxx from table where col‘000’ )…...
![](https://img-blog.csdnimg.cn/56dc17969c82401980f62d98cf357b7e.png)
【第一阶段】kotlin的range表达式
range:范围:从哪里到哪里的意思 in:表示在 !in:表示不在 … :表示range表达式 代码示例: fun main() {var num:Int20if(num in 0..9){println("差劲")}else if(num in 10..59){println("不及格")}else if(num in 60..89…...
![](https://www.ngui.cc/images/no-images.jpg)
网络防御(5)
一、结合以下问题对当天内容进行总结 1. 什么是恶意软件? 2. 恶意软件有哪些特征? 3. 恶意软件的可分为那几类? 4. 恶意软件的免杀技术有哪些? 5. 反病毒技术有哪些? 6. 反病毒网关的工作原理是什么? 7. 反…...
![](https://img-blog.csdnimg.cn/dcfa389929164ad2ba40ad0c6ececece.png)
gradle 命令行单元测试执行问题
文章目录 问题:命令行 执行失败最终解决方案(1)ADB命令(2)Java 环境配置 问题:命令行 执行失败 命令行 执行测试命令 无法使用(之前还能用的。没有任何改动,又不能用了) …...
![](https://img-blog.csdnimg.cn/b41d22c604f4426293524faa84aa40cd.png)
剑指Offer12.矩阵中的路径 C++
1、题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平…...
![](https://img-blog.csdnimg.cn/img_convert/15815753e5c22208b0f889b6bd4dbb34.jpeg)
金鸣识别将无表格线的图片转为excel的几个常用方案
我们知道,金鸣识别要将横竖线齐全的表格图片转为excel非常简单,但要是表格线不齐全甚至没有表格线的图片呢?这就没那么容易了,在识别这类图片时,我们一般会使用以下的一种或多种方法进行处理: 1. 基于布局…...
![](https://img-blog.csdnimg.cn/39793543a03a498ba5e8fc66217f499d.png)
刚刚更新win11,记事本消失怎么处理?你需要注意些什么?
记录window11的bug hello,我是小索奇 昨天索奇从window10更新到了window11,由于版本不兼容卸载了虚拟机,这是第一个令脑壳大的,算了,还是更新吧,了解了解win11的生态,后期重新装虚拟机 第一个可…...
![](https://img-blog.csdnimg.cn/28ca5bdabbec4d5595d4d8b6e1916f09.jpeg)
【QT】 QTabWidgetQTabBar控件样式设计(QSS)
很高兴在雪易的CSDN遇见你 ,给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享QT控件QTabWidget&QTabBar的样式设计,介绍两者可以自定义的内容,以及如何定义,希望对各位小伙伴有所帮助! 感谢各位小伙伴…...
![](https://img-blog.csdnimg.cn/5620ebfcff8a47a5b2d454a789d02efc.png)
【个人记录】CentOS7 编译安装最新版本Git
说明 使用yum install git安装的git版本是1.8,并不是最新版本,使用gitlab-runner托管时候会拉项目失败,这里使用编译源码方式安装最新版本的git。 基础环境安装 echo "nameserver 8.8.8.8" >> /etc/resolv.conf curl -o /…...
![](https://img-blog.csdnimg.cn/665aa0effaf545399fd653606f8d56f4.png)
【Linux】计算机网络的背景和协议分层
文章目录 网络发展协议何为协议网络协议协议分层OSI七层模型TCP/IP五层模型(四层) 基本通信流程mac地址和ip地址网络通信本质 网络发展 从一开始计算机作为一台台单机使用,到现在网络飞速发展,从局域网Lan建立起局域网࿰…...
![](https://img-blog.csdnimg.cn/cc5060e6d14d4f9884a2b16a3d6acdc8.png)
代理模式:静态代理+JDK/CGLIB 动态代理
文章目录 1. 代理模式2. 静态代理3. 动态代理3.1. JDK 动态代理机制3.1.1. 介绍 3.1.2. JDK 动态代理类使用步骤3.1.3. 代码示例3.2. CGLIB 动态代理机制3.2.1. 介绍3.2.2. CGLIB 动态代理类使用步骤3.2.3. 代码示例 3.3. JDK 动态代理和 CGLIB 动态代理对比 4. 静态代理和动态…...
![](https://img-blog.csdnimg.cn/img_convert/e7cd95fd2b8647946b49def968822bd3.png)
gps虚拟定位 AnyGo for Mac 中文
要在AnyGo中进行Gps位置模拟,您只需连接您的设备并选择“位置模拟”选项,然后输入您想要模拟的位置信息即可。通过使用AnyGo,您可以轻松地模拟任何地方的位置,而无需实际去到那个地方。 借助AnyGo,您可以通过在地图上…...
![](https://img-blog.csdnimg.cn/e4a65da37aa649b3b0192b5aaa9781d5.jpeg#pic_center)
LLM reasoners 入门实验 24点游戏
LLM reasoners Ber666/llm-reasoners 实验过程 实验样例24games,examples/tot_game24,在inference.py中配置使用代理和open ai的api key。 首先安装依赖 git clone https://github.com/Ber666/llm-reasoners cd llm-reasoners pip install -e .然后…...
![](https://www.ngui.cc/images/no-images.jpg)
【LeetCode 算法】Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值-前缀和
文章目录 Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值问题描述:分析代码前缀和前缀和 Tag Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值 问题描述: 给你一个整数数组 nums 。一个子数组 [ n u m s l ,…...
![](https://www.ngui.cc/images/no-images.jpg)
怎么建立大型语言模型
建立大型语言模型通常涉及以下主要步骤: 数据收集:收集大规模的文本数据作为模型的训练数据。可以从各种来源获取数据,如互联网、书籍、新闻文章等。数据的质量和多样性对于模型的性能至关重要。 数据预处理:对收集到的数据进行预…...
![](https://www.ngui.cc/images/no-images.jpg)
docker简介和安装
什么是docker? docker是基于Go语言编写的开源容器引擎,是操作系统级别的轻量级虚拟技术。主要用于应用打包、分发、部署。 打包:软件开发过程中,打包是将程序打包成软件包或者镜像的过程;在容器化程序中,打…...
![](https://img-blog.csdnimg.cn/1b3dc99685b74fb4aacd28fba5bc407f.png)
记录问题: servlet获取项目包绝对路径
【2023-8-8 23:46:27 星期二】 如何获取在webapp下的路径?而不是target包下的webapp目录 比如这里应该获取到 F:\Tiam\Desktop\freemarker\freemarker-demo01\src\main\webapp 而readPath总是获取到 F:\Tiam\Desktop\freemarker\freemarker-demo01\target\freemarker-demo0…...
![](https://img-blog.csdnimg.cn/54277ef61b214e5ba6b74ba064bd6279.png)
C语言文件操作基本方法
1、文件的分类 ANSI C 的缓冲文件系统 缓冲文件系统 缓冲文件系统是指,系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。 从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。 从磁盘文件向内…...
![](https://img-blog.csdnimg.cn/1d41e699e4f64e37be3d3fe618515a63.png)
SQL 相关子查询 和 不相关子查询、Exists 、Not Exists、 多表连接(包含自连接)
不相关子查询 子查询的查询条件不依赖于父查询,称不相关子查询。子查询可以单独运行的 select stu_id,sex,age from student t where sex(select sexfrom studentwhere stu_id10023 )相关子查询 关联子查询 子查询的查询条件依赖于父查询,称为 相关子…...
![](https://www.ngui.cc/images/no-images.jpg)
项目规范 编写规范(范例)
项目目录 目录接口参考 项目目录结构设计,增加部分领域模型后缀强制定义,方便统一编码风格。 controller:请求处理 RestController module:按大业务区分,对多个业务对象数据聚合处理 Component manager:…...
![](https://img-blog.csdnimg.cn/55927975aa6443f38c273d91a1b5d230.png)
MongoDB数据库操作及操作命令
目录 一、基础概念 二、安装mongod 三、命令交互数据库 (1)数据库命令 (2)集合命令 (3)文档命令 四、Mongoose (1)增加一条数据 (2)插入多个数据 &am…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux命令(62)之tee
linux命令之tee 1.tee介绍 linux命令tee于读取标准输入的数据,并将内容输出为文件 2.tee用法 tee [参数] [filename] tee参数 参数说明-a读取标准输入的数据,并将内容追加到文件,而非覆盖-i忽略中断信号 3.实例 3.1.将ls -l输出内容作为…...
![](https://img-blog.csdnimg.cn/aea707916bb746dbbd4721fee1004861.png)
搭建Repo服务器
1 安装repo 参考:清华大学开源软件镜像站:Git Repo 镜像使用帮助 2 创建manifest仓库 2.1 创建仓库 git init --bare manifest.git2.2 创建default.xml文件 default.xml文件内容: <?xml version"1.0" encoding"UTF-8" ?…...
![](https://img-blog.csdnimg.cn/d1c35da5db104aa194cfb685a9183a65.jpeg)
安卓:MMKV——键值存储库
目录 一、MMKV介绍 1.特点和优势: 2.使用指南: 3.依赖包: 二、MMKV的常用方法 1、初始化和获取实例: 2、存储数据: 3、读取数据 4、删除数据 5、其他操作: 三、MMKV的使用例子 MainActivityÿ…...
![](https://img-blog.csdnimg.cn/97f7c53ee7d44e3790aafac9137e35d1.png)
使用Python将图像转换为PDF:一次性解决您的批量转换需求
导语: 在数字化时代,我们经常需要处理大量的图像文件。将这些图像转换为PDF格式可以方便地存档、分享和打印。本文将介绍如何使用Python编程语言将图像批量转换为PDF,并提供了一个简单易用的图形界面来跟踪转换进度。 准备工作 在开始之前…...
设计网站的制作框架/外链工具下载
#创建只有一个元素的tuple,需要用逗号结尾消除歧义 a_tuple (2,) #tuple中的list mixed_tuple (1, 2, [a, b]) print("mixed_tuple: " str(mixed_tuple)) mixed_tuple[2][0] c mixed_tuple[2][1] d print("mixed_tuple: " str(mixed_tu…...
![](https://img-blog.csdnimg.cn/img_convert/851a3d0203c98673e78dbc29ca12e2ae.png)
企业为什么做网站素材/百度识图查图片
博主最近在研究服务器运维,由于Linux服务器相对比较困难,所以博主对她情有独钟。而window服务器几乎跟我们平常使用的电脑一样,相对简单感觉索然无味。下面正式进入主题教大家linux如何挂载硬盘。首先解答一个新手朋友都会问的问题࿰…...
![](https://img-blog.csdnimg.cn/img_convert/73b016ae27b1fc987514f77d7b61c49a.png)
wordpress导航大全/深圳知名seo公司
今天老师初三的同学们整理了带动点的二次函数压轴题, 通过12道例题的详细讲解,让你轻松掌握同类型题型。篇幅有限,内容仅做展示,老师已整理好word完整版,家长或同学们可在文末获取。或关注后,发送私信“学习…...
![](https://www.oschina.net/img/hot3.png)
智能客服系统建设/成都seo整站
2019独角兽企业重金招聘Python工程师标准>>> 1、什么是plist文件? 在做iOS开发时,我们应该经常会用到plist文件,那么什么是plist文件呢?它全名是Property List,属性列表文件,它是一种用来存储串…...
![](/images/no-images.jpg)
北京建站模板厂家/头条权重查询
今天做项目的时候突然发现一个问题。 html标签label的用法分两种: <label for"name">姓名:</label><input id"name" name"name" placeholder"姓名"><label>姓名:<input …...
![](https://img-blog.csdnimg.cn/img_convert/ee09b4f78db3fe3d679cbff8c9185d69.gif)
南宁网站建设公司如何为老板打造网站赚钱的/企业qq官网
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇虽然明儿才是传说中属于程序猿的节日,但各大互联网公司已经提前开整,小编已经提前在朋友圈里感受到了不同氛围的节日氛围,为大家整…...