2024.3.27力扣(1200-1400)刷题记录

news/2024/4/28 5:05:18/文章来源:https://blog.csdn.net/lshx4658/article/details/137058506

一、2215. 找出两数组的不同

1.排序+双指针。我以为遍历时复很高,所以用的双指针。

class Solution:def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:#排序+双指针nums1.sort()nums2.sort()ans = [[],[]]a,b,n1,n2 = 0,0,len(nums1),len(nums2)while a<n1 and b<n2:x = nums1[a]y = nums2[b]if a > 0 and nums1[a-1] == x:a += 1continueif b > 0 and nums2[b-1] == y:b += 1continueif x > y:ans[1].append(y)b += 1elif x < y:ans[0].append(x)a += 1else:a += 1b += 1# 将剩余存入while a < n1:x = nums1[a]if a <= 0 or nums1[a-1] != x:ans[0].append(x)a += 1while b < n2:y = nums2[b]if b <= 0 or nums2[b-1] != y:ans[1].append(y)b += 1return ans

2.集合求差。来自题解(. - 力扣(LeetCode))。

class Solution:def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:# 集合差集return [list(set(nums1)-set(nums2)),list(set(nums2)-set(nums1))]

下段来自chatgpt:

需要注意的是,集合操作的时间复杂度通常是接近 O(1) 的,因为集合内部使用哈希表实现,能够快速进行元素的查找和插入,但在极端情况下可能会达到 O(n)(例如哈希冲突较多的情况)。

3.集合差集+海象运算符。来自题解(. - 力扣(LeetCode))。

class Solution:def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:# 集合差集+海象运算符return [list((s1 := set(nums1)) - (s2 := set(nums2))),list(s2 - s1)]

下段来自chatgpt:

海象运算符的主要作用是可以在表达式中将计算结果赋值给变量,且在同一表达式中使用这个变量。这样可以避免重复计算相同的表达式,使代码更加简洁和易读。

二、2706. 购买两块巧克力

1.排序

class Solution:def buyChoco(self, prices: List[int], money: int) -> int:# 排序prices.sort()s = prices[0] + prices[1]return money - s if money >= s else money

 2.遍历,求最小和次小。

class Solution:def buyChoco(self, prices: List[int], money: int) -> int:# 遍历,求最小和次小a,b = inf,inffor x in prices:if x < a:a,b = x,aelif x < b:b = xreturn money - a - b if money >= a+b else money

 三、1380. 矩阵中的幸运数

1.遍历,时复O(n*m)。

class Solution:def luckyNumbers (self, matrix: List[List[int]]) -> List[int]:# 遍历# 分别求出每一行的最小值和每一列的最大值# 出现相同元素即为幸运数,因为元素各不相同minList,maxList = [inf]*len(matrix),[0]*len(matrix[0])for i,row in enumerate(matrix):for j,x in enumerate(row):if x < minList[i]:minList[i] = xif x > maxList[j]:maxList[j] = xs1,s2 = set(minList),set(maxList)return list(s1 - (s1 - s2))

参考官方题解方法二(. - 力扣(LeetCode)),对上述求最大小值列表部分代码进行修改。修改后如下:

class Solution:def luckyNumbers (self, matrix: List[List[int]]) -> List[int]:# 遍历,时复O(n*m)# 分别求出每一行的最小值和每一列的最大值# 出现相同元素即为幸运数,因为元素各不相同minList = [min(row) for row in matrix]maxList = [max(col) for col in zip(*matrix)]    #对matrix转置s1,s2 = set(minList),set(maxList)return list(s1 - (s1 - s2))

2.最小值中最大值和最大值中最小值,方法来自评论(. - 力扣(LeetCode))。时复O(n*m)。

class Solution:def luckyNumbers (self, matrix: List[List[int]]) -> List[int]:# 最小值中最大值和最大值中最小值minList = [min(row) for row in matrix]maxList = [max(col) for col in zip(*matrix)]    #对matrix转置a,b = max(minList),min(maxList)return [a] if a==b else []

感谢你看到这里!一起加油吧!

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

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

相关文章

学习人工智能:Attention Is All You Need-2-Transformer模型;Attention机制;位置编码

3.2 注意力机制Attention 注意力函数可以描述为将查询和一组键值对映射到输出的过程&#xff0c;其中查询、键、值和输出都是向量。输出被计算为值的加权和&#xff0c;其中每个值的权重由查询与相应键的兼容性函数计算得出。 3.2.1 缩放点积注意力 Scaled Dot-Product Attenti…

Python——jieba优秀的中文分词库(基础知识+实例)

Hello&#xff0c;World&#xff01; 从去年开始学习Python&#xff0c;在长久的学习过程中&#xff0c;发现了许多有趣的知识&#xff0c;不断充实自己。今天我所写的内容也是极具趣味性&#xff0c;关于优秀的中文分词库——jieba库。 &#x1f3d4;关于Jieba &#x1f412;…

BUG定位---一起学习吧之测试

判断一个BUG是前端还是后端的&#xff0c;通常需要根据BUG的具体表现、发生的环境以及相关的技术栈来进行分析。以下是一些常用的判断方法&#xff1a; 错误发生的位置&#xff1a; 如果BUG涉及的是页面的布局、样式、交互效果等&#xff0c;那么很可能是前端的BUG。如果BUG与…

鸿蒙HarmonyOS应用开发之NDK工程构建概述

OpenHarmony NDK默认使用CMake作为构建系统&#xff0c;随包提供了符合OpenHarmony工具链的基础配置文件 ohos.toolchain.cmake &#xff0c;用于预定义CMake变量来简化开发者配置。 常用的NDK工程构建方式有&#xff1a; 从源码构建 源码构建也有不同方式&#xff1a; 可以使…

29---Nor Flash电路设计

视频链接 Nor Flash硬件电路设计01_哔哩哔哩_bilibili NOR FLASH电路设计 1、NOR FLASH介绍 NOR Flash最早是由Intel公司于1988年开发出的。 NOR Flash虽容量小但速度快,最大特点是支持芯片内执行&#xff08;XIP&#xff09;&#xff0c;即程序可以直接在NOR flash的片内…

Spring Cloud Gateway Server MVC

之前你如果要用spring cloud gateway &#xff0c;就必须是webflux 的&#xff0c;也就是必须是异步响应式编程。不能和spring mvc 一起使用。现在spring cloud 新出了一个可以不用webflux的gateway。 具体使用mvc的gateway步骤如下 普通的Eureka Client的项目 如果你只是想测…

前端Webpack5高级进阶课程

课程介绍 本套视频教程主要内容包含React/Vue最新版本脚手架分析、基于Webpack5编写自己的loader和plugin等&#xff0c;让你开发时选择更多样&#xff0c;最后&#xff0c;用不到一百行的代码实现Webpack打包。通过本套视频教程的学习&#xff0c;可以帮你彻底打通Webpack的任…

CCleaner2024最新版本win系统清理工具功能介绍及下载

CCleaner是一款在计算机领域广受欢迎的系统清理和优化工具。它以其强大的功能、简洁的操作界面和显著的效果&#xff0c;赢得了众多用户的青睐。下面&#xff0c;我将从功能、特点、使用方法以及优势等方面对CCleaner进行详细介绍。 CCleaner下载如下&#xff1a; https://wm.…

一题学会BFS和DFS,手撕不再怕

先复习一下什么是BFS和DFS&#xff0c;各位读者接着往下看就行 BFS算法 BFS类似于树的层次遍历过程,从根节点开始&#xff0c;沿着树的宽度遍历树的节点。如果所有节点均被访问&#xff0c;则算法中止。 舍去空间换时间。 算法思路队列&#xff08;先进先出&#xff09; 1…

红外遥控器的使用和详细解释

infrared.c #include "infrared.h"/* 红外 --- PA8*/void Infrared_Init(void) {GPIO_InitTypeDef GPIO_InitStruct; EXTI_InitTypeDef EXTI_InitStruct;NVIC_InitTypeDef NVIC_InitStruct;//使能SYSCFG时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, E…

如何绕过CDN查真实IP

1.多地ping看是否有cdn 2.邮件订阅或者rss订阅 二级域名可能不会做cdnnslookup http://xxx.com 国外dns查找域名历史解析记录&#xff0c;因为域名在上CDN之前用的IP&#xff0c;很有可能就是CDN的真实源IP地址6.phpinfo上显示的信息 cloudflare github可以获取真实IP一个网站…

JAVA电商平台 免 费 搭 建 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城

在数字化时代&#xff0c;电商行业正经历着前所未有的变革。鸿鹄云商的saas云平台以其独特的架构和先进的理念&#xff0c;为电商行业带来了全新的商业模式和营销策略。该平台涉及多个平台端&#xff0c;包括平台管理、商家端、买家平台、微服务平台等&#xff0c;涵盖了pc端、…

鸿蒙雄起!风口就在当下,你如何抉择?

近年来&#xff0c;华为自主研发的鸿蒙操作系统&#xff08;HarmonyOS&#xff09;引起了广泛的关注和讨论。鸿蒙系统不仅标志着华为在软件领域的一次重大突破&#xff0c;也预示着全球智能设备市场格局的潜在变化。本文将深入探讨鸿蒙系统的兴起、其在市场上的表现以及对程序员…

【技巧】PyTorch限制GPU显存的可使用上限

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 从 PyTorch 1.4 版本开始&#xff0c;引入了一个新的功能 torch.cuda.set_per_process_memory_fraction(fraction, device)&#xff0c;这个功能允许用户为特定的 GPU 设备设置进程可使用的显存上限比例。 测试代…

第十篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python自动化操作Excel

传奇开心果博文系列 系列博文目录Python自动化办公库技术点案例示例系列博文目录 前言一、重要作用解说二、Python操作Excel的常用库介绍三、数据处理和分析示例代码四、自动化报表生成示例代码五、数据导入和导出示例代码六、数据可视化示例代码八、数据校验和清洗示例代码九、…

开源项目ChatGPT-Next-Web的容器化部署(二)-- jenkins CI构建并推送镜像

一、背景 接着上文已制作好了Dockerfile&#xff0c;接下来就是docker build/tag/push等一系列操作了。 不过在这之前&#xff0c;你还必须在jenkins等CI工具中&#xff0c;拉取源码&#xff0c;然后build构建应用。 因为本文的重点不是讲述jenkins ci工具&#xff0c;所以只…

【动手学深度学习】深入浅出深度学习之线性神经网络

目录 &#x1f31e;一、实验目的 &#x1f31e;二、实验准备 &#x1f31e;三、实验内容 &#x1f33c;1. 线性回归 &#x1f33b;1.1 矢量化加速 &#x1f33b;1.2 正态分布与平方损失 &#x1f33c;2. 线性回归的从零开始实现 &#x1f33b;2.1. 生成数据集 &#x…

优酷造车!影视制作车实现片场协同办公、实时粗剪

3月28日&#xff0c;第十一届中国网络视听大会在成都开幕&#xff0c;会场外&#xff0c;一台长12米的“变形金刚”吸引了众多与会嘉宾。这是优酷发布的行业首款影视制作车&#xff0c;该车为导演和后期工种提供一站式软硬件服务和舒适的集体办公环境。优酷工作人员介绍&#x…

centos中安装docker启动chatwoot

安装docker 1.首先&#xff0c;确保系统处于最新状态&#xff1a; yum update2.安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm23.添加 Docker 的官方 GPG 密钥&#xff1a; yum-config-manager --add-repo https://download.docker.com/linux/cent…

OCR研究背景及相关论文分享

光学字符识别&#xff08;Optical Character Recognition&#xff0c;OCR&#xff09;是指使用光学方法将图像中的文字转换为机器可编辑的文本的技术。OCR技术的研究和应用已有数十年的历史&#xff0c;其背景和发展受到多方面因素的影响。 技术需求背景 1.自动化文档处理&am…