LeetCode笔记:Weekly Contest 359

  • LeetCode笔记:Weekly Contest 359
    • 1. 题目一
      • 1. 解题思路
      • 2. 代码实现
    • 2. 题目二
      • 1. 解题思路
      • 2. 代码实现
    • 3. 题目三
      • 1. 解题思路
      • 2. 代码实现
    • 4. 题目四
      • 1. 解题思路
      • 2. 代码实现
  • 比赛链接:https://leetcode.com/contest/weekly-contest-359

1. 题目一

给出题目一的试题链接如下:

  • 2828. Check if a String Is an Acronym of Words

1. 解题思路

这一题倒是没啥好多说的,把题意翻译成代码语言即可。

2. 代码实现

给出python代码实现如下:

class Solution:def isAcronym(self, words: List[str], s: str) -> bool:if len(words) != len(s):return Falsereturn all(word[0] == ch for word, ch in zip(words, s))

提交代码评测得到:耗时62ms,占用内存16.3MB。

2. 题目二

给出题目二的试题链接如下:

  • 2829. Determine the Minimum Sum of a k-avoiding Array

1. 解题思路

这一题我的做法多少也有点暴力,就是从1开始枚举,每增加一个元素的同时block掉它的成对元素,然后直到取满n个元素即可。

2. 代码实现

给出python代码实现如下:

class Solution:def minimumSum(self, n: int, k: int) -> int:block = set()i, cnt = 1, 0res = 0while cnt < n:if i not in block:res += iblock.add(k-i)cnt += 1i += 1return res

提交代码评测得到:耗时49ms,占用内存16.4MB。

3. 题目三

给出题目三的试题链接如下:

  • 2830. Maximize the Profit as the Salesman

1. 解题思路

这一题说来惭愧,没有一下子搞出来,一开始的思路跑偏了,想了分段树和greedy的方式,但是怎么也想不到可行的解法,然后看了一下其他大佬们的思路,发现就是一个简单的动态规划的算法,没能自力做出来真的是委实有些丢脸……

2. 代码实现

给出python代码实现如下:

class Solution:def maximizeTheProfit(self, n: int, offers: List[List[int]]) -> int:locs = defaultdict(list)for st, ed, gold in offers:locs[st].append([ed, gold])@lru_cache(None)def dp(idx):if idx >= n:return 0res = dp(idx+1)for ed, gold in locs[idx]:res = max(res, gold + dp(ed+1))return resreturn dp(0)

提交代码评测得到:耗时1732ms,占用内存191MB。

4. 题目四

给出题目四的试题链接如下:

  • 2831. Find the Longest Equal Subarray

1. 解题思路

这一题我的思路上就是首先记录下每一个元素出现的位置,然后考察以每一个元素作为Equal Subarray的核心元素的话,在至多删除k个字符的情况下可以组成的最大长度并记录下来,最后,我们返回这些最大长度的最大值即可。

而考察对于任意给定的字符在至多删除k个字符的情况下可以组成的最大长度的过程,我们用一个滑动窗口即可进行实现。

2. 代码实现

给出python代码实现如下:

class Solution:def longestEqualSubarray(self, nums: List[int], k: int) -> int:locs = defaultdict(list)for i, x in enumerate(nums):locs[x].append(i)cnt = {}for vals in locs.values():i, j, n = 0, 0, len(vals)while j < n:while vals[j]-vals[i] - (j-i) > k:i += 1s, d = j-i+1, vals[j]-vals[i] - (j-i)cnt[s] = min(cnt[s], vals[j]-vals[i] - (j-i)) if s in cnt else vals[j]-vals[i] - (j-i)j += 1return max(cnt.keys())

提交代码评测得到:耗时1647ms,占用内存39.2MB。

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

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

相关文章

小型双轮差速底盘实现悬崖巡检功能

1. 功能说明 本文示例将实现R023样机小型双轮差速底盘悬崖巡检的功能。在小型双轮差速底盘上安装一个检测装置&#xff0c;它可以由1个 近红外传感器 和1个 灰度传感器 组成。近红外传感器可以识别桌面&#xff0c;灰度传感器可以识别“悬崖”&#xff0c;让机器人沿着“悬崖”…

DNS入门学习:DNS解析生效问题(中科三方)

在修改域名解析记录或DNS服务器之后&#xff0c;DNS解析并不会立即生效&#xff0c;这给很多网站管理者带来了很多困扰&#xff0c;了解DNS解析生效原理以及不同情况下DNS解析生效时间&#xff0c;对于网站管理工作有很大帮助。本文中科三方针对不同情况下DNS解析生效时间做下简…

【MySQL】事务

事务&#xff0c;我们一直没有提到过它&#xff0c;它并不影响我们书写正确的sql语句&#xff0c;但并不意味着事务就不重要 目录 一、事务的概念 二、为什么会出现事务 三、事务的版本支持 四、事务的提交方式 五、事务的常见操作方式 5.1 准备 5.2 正常演示 5.2.1 开…

从零开始学习 Java:简单易懂的入门指南之正则表达式(十五)

正则表达式 1.1 正则表达式的概念及演示1.2 正则表达式-字符类1.3 正则表达式-逻辑运算符1.4 正则表达式-预定义字符1.5 正则表达式-数量词1.6 正则表达式练习11.7 正则表达式练习2 1.1 正则表达式的概念及演示 在Java中&#xff0c;我们经常需要验证一些字符串&#xff0c;例…

linux-shell编程

shell编程 1. 变量、条件判断、流程控制、函数 $n &#xff08;功能描述&#xff1a;n为数字&#xff0c;$0代表该脚本名称&#xff0c;$1-$9代表第一到第九个参数&#xff0c;十以上的参数&#xff0c;十以上的参数需要用大括号包含&#xff0c;如${10}&#xff09; $# &…

html(七)meta标签

一 meta标签 1、背景&#xff1a;发现自带某些请求头2、本文没有实际的生产应用场景,仅仅作为技术积累 ① meta标签含义 1、metadata: 元数据,是用于描述数据的数据,它不会显示在页面上,但是机器却可以识别2、应用场景&#xff1a; [1]、SEO搜索引擎优化[2]、定义页面使用…

IP库新增经过实践的Verilog 库

网上严重缺乏实用的 Verilog 设计。Project F 库是尝试让 FPGA 初学者变得更好部分。 设计包括 Clock- 时钟生成 (PLL) 和域交叉Display - 显示时序、帧缓冲区、DVI/HDMI 输出Essential- 适用于多种设计的便捷模块Graphics- 绘制线条和形状Maths- 除法、LFSR、平方根、正弦....…

【系统架构】系统架构设计之数据同步策略

文章目录 一、介绍1.1、分布式系统中的数据同步定义1.2、为何数据同步如此关键1.3、数据同步策略简介 二、为什么需要数据同步2.1、提高系统可用性2.2、备份与灾难恢复2.3、提高性能2.4、考虑地理位置&#xff08;如使用CDN&#xff09; 三、同步备份3.1、定义和概述3.2、工作原…

【仿写tomcat】六、解析xml文件配置端口、线程池核心参数

线程池改造 上一篇文章中我们用了Excutors创建了线程&#xff0c;这里我们将它改造成包含所有线程池核心参数的形式。 package com.tomcatServer.http;import java.util.concurrent.*;/*** 线程池跑龙套** author ez4sterben* date 2023/08/05*/ public class ThreadPool {pr…

代码随想录算法训练营第四十一天 | 343. 整数拆分,96.不同的二叉搜索树

代码随想录算法训练营第四十一天 | 343. 整数拆分&#xff0c;96.不同的二叉搜索树 343. 整数拆分动态规划贪心 96.不同的二叉搜索树 343. 整数拆分 题目链接 视频讲解 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff…

Java源码分析(一)Integer

当你掌握Java语言到了一定的阶段&#xff0c;或者说已经对Java的常用类和API都使用的行云流水。你会不会有一些思考&#xff1f;比如&#xff0c;这个类是如何设计的&#xff1f;这个方法是怎么实现的&#xff1f;接下来的一系列文章&#xff0c;我们一起学习下Java的一些常见类…

香港服务器备案会通过吗?

​  对于企业或个人来说&#xff0c;合规备案是网络运营的基本要求&#xff0c;也是保护自身权益的重要举措。以下内容围绕备案展开话题&#xff0c;希望为您解开疑惑。 香港服务器备案会通过吗? 目前&#xff0c;香港服务器无法备案&#xff0c;这是由于国内管理规定的限制…

人工智能引领图文扫描新趋势

1. 背景和影响 近日&#xff0c;中国大学生服务外包创新创业大赛决赛在江南大学圆满落幕。为满足现代服务产业企业的现实需求&#xff0c;本次竞赛内容设计充分聚焦企业发展中所面临的技术、管理等现实问题&#xff0c;与产业的结合度更紧密&#xff0c;智能文字识别技术是大赛…

Unity VR:XR Interaction Toolkit 输入系统(Input System):获取手柄的输入

文章目录 &#x1f4d5;教程说明&#x1f4d5;Input System 和 XR Input Subsystem&#xff08;推荐 Input System&#xff09;&#x1f4d5;Input Action Asset⭐Actions Maps⭐Actions⭐Action Properties&#x1f50d;Action Type (Value, Button, Pass through) ⭐Binding …

前端框架Vue

Vue 学习路线 学习HTML、CSS和JavaScript基础知识&#xff1a;Vue是基于JavaScript的框架&#xff0c;所以首先需要掌握HTML、CSS和JavaScript的基础知识&#xff0c;包括DOM操作、事件处理、变量和函数等。 学习Vue的基本概念&#xff1a;了解Vue的核心概念&#xff0c;如Vu…

第五周周报

周报 日期&#xff1a;2023/08/14 ~ 2023/08/20 一、本周回顾 本周我学习了两个主要的知识点&#xff0c;分别是快速排序算法和Java面向对象编程。以下是我对这两个知识点的详细总结&#xff1a; 1. 快速排序算法 快速排序是一种高效的排序算法&#xff0c;它基于分治思想。…

Win10+anaconda+CUDA+pytorch+vscode配置

Win10anacondaCUDApytorchvscode配置 1.安装anaconda2.安装CUDA确认CUDA版本确认CUDA和pytorch版本安装CUDA 3.安装cudnn4.安装Pytorch5.vscode配置安装VScodevscode配置pytorch环境 1.安装anaconda 官网https://www.anaconda.com 下载安装&#xff0c;路径全英文然后记得有一…

Neo4j之with基础

WITH 语句在 Cypher 查询中用于将之前的查询结果传递给后续的查询操作。它可以用来控制查询的流程&#xff0c;并且常常与其他语句如 MATCH、RETURN、CREATE、DELETE 等一起使用。以下是一些常用的示例和解释&#xff1a; 基本用法&#xff1a; MATCH (p:Person) WITH p RETU…

jquery中pdf的上传、下载及excel导出

jquery中pdf的上传、下载及excel导出 1.PDF上传 pdfUpload2. pdf下载和excel导出用的一种方法&#xff0c;并且需要引入utils.js2.1PDF下载 pdfDownload2.2导出Excel excelExport 1.PDF上传 pdfUpload //PDF上传 pdfUpload window.pdfUploadfunction (obj){layer.open({type:…

【RabbitMQ】消息队列-RabbitMQ篇章

文章目录 1、RabbitMQ是什么1.1、RabbitMQ---使用场景一般场景解耦削峰异步 2、Dokcer安装RabbitMQ2.1安装Dokcer2.2安装rabbitmq 3、RabbitMQ入门案例 - Simple 简单模式4、RabbitMQ的核心组成部分4.1 RabbitMQ整体架构4.2RabbitMQ的运行流程 5、RabbitMQ的模式5.1 发布订阅模…