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

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

我的代码

相关文章:

Leetcode周赛 | 2023-8-6

2023-8-6 题1体会我的代码 题2我的超时代码题目体会我的代码 题3体会我的代码 题1 体会 这道题完全就是唬人&#xff0c;只要想明白了&#xff0c;只要有两个连续的数的和&#xff0c;大于target&#xff0c;那么一定可以&#xff0c;两边一次切一个就好了。 我的代码 题2 我…...

ts中interface自定义结构约束和对类的约束

一、interface自定义结构约束对后端接口返回数据 // interface自定义结构 一般用于较复杂的结构数据类型限制 如后端返回的接口数据// 首字母大写;用分割号隔开 interface Iobj{a:number;b:string } let obj:Iobj {a:1,b:2 }// 复杂类型 模拟后端返回的接口数据 interface Il…...

Oracle单实例升级补丁

目录 1.当前DB环境2.下载补丁包和opatch的升级包3.检查OPatch的版本4.检查补丁是否冲突5.关闭数据库实例&#xff0c;关闭监听6.应用patch7.加载变化的SQL到数据库8.ORACLE升级补丁查询 oracle19.3升级补丁到19.18 1.当前DB环境 [oraclelocalhost ~]$ cat /etc/redhat-releas…...

力扣初级算法(二分查找)

力扣初级算法(二分法)&#xff1a; 每日一算法&#xff1a;二分法查找 学习内容&#xff1a; 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 2.二分查找流程&…...

探索未来:直播实时美颜SDK在增强现实(AR)直播中的前景

在AR直播中&#xff0c;观众可以与虚拟元素实时互动&#xff0c;为用户带来更加丰富、沉浸式的体验。那么&#xff0c;直播美颜SDK在AR中有哪些应用呢&#xff1f;下文小编将于大家一同探讨美颜SDK与AR有哪些关联。 一、AR直播与直播实时美颜SDK的结合 增强现实技术在直播中…...

SQL 单行子查询 、多行子查询、单行函数、聚合函数 IN 、ANY 、SOME 、ALL

单行子查询 子查询结果是 一个列一行记录 select a&#xff0c;b&#xff0c;c from table where a >(select avg(xx) from table ) 还支持这种写法,这种比较少见 select a&#xff0c;b&#xff0c;c from table where (a ,b)(select xx,xxx from table where col‘000’ )…...

【第一阶段】kotlin的range表达式

range:范围&#xff1a;从哪里到哪里的意思 in:表示在 !in&#xff1a;表示不在 … :表示range表达式 代码示例&#xff1a; fun main() {var num:Int20if(num in 0..9){println("差劲")}else if(num in 10..59){println("不及格")}else if(num in 60..89…...

网络防御(5)

一、结合以下问题对当天内容进行总结 1. 什么是恶意软件&#xff1f; 2. 恶意软件有哪些特征&#xff1f; 3. 恶意软件的可分为那几类&#xff1f; 4. 恶意软件的免杀技术有哪些&#xff1f; 5. 反病毒技术有哪些&#xff1f; 6. 反病毒网关的工作原理是什么&#xff1f; 7. 反…...

gradle 命令行单元测试执行问题

文章目录 问题&#xff1a;命令行 执行失败最终解决方案&#xff08;1&#xff09;ADB命令&#xff08;2&#xff09;Java 环境配置 问题&#xff1a;命令行 执行失败 命令行 执行测试命令 无法使用&#xff08;之前还能用的。没有任何改动&#xff0c;又不能用了&#xff09; …...

剑指Offer12.矩阵中的路径 C++

1、题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水平…...

金鸣识别将无表格线的图片转为excel的几个常用方案

我们知道&#xff0c;金鸣识别要将横竖线齐全的表格图片转为excel非常简单&#xff0c;但要是表格线不齐全甚至没有表格线的图片呢&#xff1f;这就没那么容易了&#xff0c;在识别这类图片时&#xff0c;我们一般会使用以下的一种或多种方法进行处理&#xff1a; 1. 基于布局…...

刚刚更新win11,记事本消失怎么处理?你需要注意些什么?

记录window11的bug hello&#xff0c;我是小索奇 昨天索奇从window10更新到了window11&#xff0c;由于版本不兼容卸载了虚拟机&#xff0c;这是第一个令脑壳大的&#xff0c;算了&#xff0c;还是更新吧&#xff0c;了解了解win11的生态&#xff0c;后期重新装虚拟机 第一个可…...

【QT】 QTabWidgetQTabBar控件样式设计(QSS)

很高兴在雪易的CSDN遇见你 &#xff0c;给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享QT控件QTabWidget&QTabBar的样式设计&#xff0c;介绍两者可以自定义的内容&#xff0c;以及如何定义&#xff0c;希望对各位小伙伴有所帮助&#xff01; 感谢各位小伙伴…...

【个人记录】CentOS7 编译安装最新版本Git

说明 使用yum install git安装的git版本是1.8&#xff0c;并不是最新版本&#xff0c;使用gitlab-runner托管时候会拉项目失败&#xff0c;这里使用编译源码方式安装最新版本的git。 基础环境安装 echo "nameserver 8.8.8.8" >> /etc/resolv.conf curl -o /…...

【Linux】计算机网络的背景和协议分层

文章目录 网络发展协议何为协议网络协议协议分层OSI七层模型TCP/IP五层模型&#xff08;四层&#xff09; 基本通信流程mac地址和ip地址网络通信本质 网络发展 从一开始计算机作为一台台单机使用&#xff0c;到现在网络飞速发展&#xff0c;从局域网Lan建立起局域网&#xff0…...

代理模式:静态代理+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. 静态代理和动态…...

gps虚拟定位 AnyGo for Mac 中文

要在AnyGo中进行Gps位置模拟&#xff0c;您只需连接您的设备并选择“位置模拟”选项&#xff0c;然后输入您想要模拟的位置信息即可。通过使用AnyGo&#xff0c;您可以轻松地模拟任何地方的位置&#xff0c;而无需实际去到那个地方。 借助AnyGo&#xff0c;您可以通过在地图上…...

LLM reasoners 入门实验 24点游戏

LLM reasoners Ber666/llm-reasoners 实验过程 实验样例24games&#xff0c;examples/tot_game24&#xff0c;在inference.py中配置使用代理和open ai的api key。 首先安装依赖 git clone https://github.com/Ber666/llm-reasoners cd llm-reasoners pip install -e .然后…...

【LeetCode 算法】Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值-前缀和

文章目录 Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值问题描述&#xff1a;分析代码前缀和前缀和 Tag Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值 问题描述&#xff1a; 给你一个整数数组 nums 。一个子数组 [ n u m s l ,…...

怎么建立大型语言模型

建立大型语言模型通常涉及以下主要步骤&#xff1a; 数据收集&#xff1a;收集大规模的文本数据作为模型的训练数据。可以从各种来源获取数据&#xff0c;如互联网、书籍、新闻文章等。数据的质量和多样性对于模型的性能至关重要。 数据预处理&#xff1a;对收集到的数据进行预…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...