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

LeetCode 每日一题 2024/1/1-2024/1/7

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


目录

      • 1/1 1599. 经营摩天轮的最大利润
      • 1/2 466. 统计重复个数
      • 1/3 2487. 从链表中移除节点
      • 1/4 2397. 被列覆盖的最多行数
      • 1/5 1944. 队列中可以看到的人数
      • 1/6 2807. 在链表中插入最大公约数
      • 1/7 383. 赎金信


1/1 1599. 经营摩天轮的最大利润

如果4个人的钱小于运行的钱 则必定亏本
依次遍历每个时间点的游客 wait记录当前等待游客数量
ans记录最大利润时的经营时间 cur记录当前利润 maxv记录最大利润
当没有后续游客时 继续考虑等待的游客 每次上4人使得利润最大化

def minOperationsMaxProfit(customers, boardingCost, runningCost):""":type customers: List[int]:type boardingCost: int:type runningCost: int:rtype: int"""if 4*boardingCost<runningCost:return -1wait = 0ans = -1cur = -999maxv = -999num = 0for cus in customers:wait += custmp = min(4,wait)wait -=tmpcur += tmp*boardingCost-runningCostnum +=1if cur>maxv:maxv = curans = numwhile wait>0:tmp = min(4,wait)wait -=tmpcur += tmp*boardingCost-runningCostnum +=1if cur>maxv:maxv = curans = numreturn ans

1/2 466. 统计重复个数

从1个s1开始寻找s2 不停的添加s1 寻找到能够开始循环的地方

def getMaxRepetitions(s1, n1, s2, n2):""":type s1: str:type n1: int:type s2: str:type n2: int:rtype: int"""if n1==0:return 0s1cnt,ind,s2cnt = 0,0,0m = {}while True:s1cnt +=1for c in s1:if c==s2[ind]:ind+=1if ind==len(s2):s2cnt+=1ind=0if s1cnt==n1:return s2cnt//n2if ind in m:s1p,s2p = m[ind]pre = (s1p,s2p)nxt =(s1cnt-s1p,s2cnt-s2p)breakelse:m[ind] = (s1cnt,s2cnt)ans = pre[1]+(n1-pre[0])//(nxt[0])*nxt[1]l = (n1-pre[0])%nxt[0]for i in range(l):for c in s1:if c==s2[ind]:ind+=1if ind==len(s2):ans+=1ind=0return ans//n2

1/3 2487. 从链表中移除节点

递归 对右侧进行操作

class ListNode(object):def __init__(self, val=0, next=None):self.val = valself.next = next
def removeNodes(head):""":type head: Optional[ListNode]:rtype: Optional[ListNode]"""def do(node):if node is None:return Nonenode.next = do(node.next)if node.next and node.val<node.next.val:return node.nextelse:return nodereturn do(head)

1/4 2397. 被列覆盖的最多行数

枚举每一种情况
cur为选取的状态 1为选择 0位不选
每一行使用二进制表示 mask[i]
与cur相与如果数值不变说明所有1都被覆盖了

def maximumRows(matrix, numSelect):""":type matrix: List[List[int]]:type numSelect: int:rtype: int"""m,n=len(matrix),len(matrix[0])mask = [sum(v<<j for j,v in enumerate(row)) for i,row in enumerate(matrix)]ans,limit = 0,1<<nfor cur in range(1,limit):if cur.bit_count()!=numSelect:continuet = sum((mask[j]&cur)==mask[j] for j in range(m))ans = max(ans,t)return ans

1/5 1944. 队列中可以看到的人数

从最右侧开始考虑
对于右侧不高于自己的人 左侧的人必定看不到
维护一个单调栈 递减
忽略不高于自己的人

def canSeePersonsCount(heights):""":type heights: List[int]:rtype: List[int]"""st=[]n = len(heights)ans = [0]*nfor i in range(n-1,-1,-1):cur = heights[i]while st and cur>st[-1]:ans[i]+=1st.pop()if st:ans[i]+=1st.append(cur)return ans

1/6 2807. 在链表中插入最大公约数

遍历每一个节点 在节点后插入公约数
下一步跳过最新插入的节点

class ListNode(object):def __init__(self, val=0, next=None):self.val = valself.next = next
def insertGreatestCommonDivisors(head):""":type head: Optional[ListNode]:rtype: Optional[ListNode]"""import mathnode = headwhile node.next is not None:node.next = ListNode(math.gcd(node.val, node.next.val), node.next)node = node.next.nextreturn head

1/7 383. 赎金信

记录magazine中的字符个数
遍历ransom检查是否满足

def canConstruct(ransomNote, magazine):""":type ransomNote: str:type magazine: str:rtype: bool"""if len(magazine)<len(ransomNote):return Falsefrom collections import defaultdictm = defaultdict(int)for c in magazine:m[c]+=1for c in ransomNote:m[c]-=1if m[c]<0:return Falsereturn True

相关文章:

LeetCode 每日一题 2024/1/1-2024/1/7

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 1/1 1599. 经营摩天轮的最大利润1/2 466. 统计重复个数1/3 2487. 从链表中移除节点1/4 2397. 被列覆盖的最多行数1/5 1944. 队列中可以看到的人数1/6 2807. 在链表中插入最…...

7+单细胞+空转+实验验证,如何根据内容开展相关经验给你启发

导语 今天给同学们分享一篇生信文章“CD8 tissue-resident memory T cells induce oral lichen planus erosion via cytokine network”&#xff0c;这篇文章发表在Elife期刊上&#xff0c;影响因子为7.7。 结果解读&#xff1a; 单细胞RNA测序揭示了具有不同临床亚型的OLP的细…...

Verifiable Credentials可验证证书 2023 终极指南

1. 引言 Dock公司为去中心化数字身份领域的先驱者&#xff0c;其自2017年以来&#xff0c;已知专注于构建前沿的可验证证书&#xff08;Verifiable Credentials&#xff09;技术。本文将阐述何为电子证书、电子证书工作原理、以及其对组合和个人的重要性。 伪造实物证书和数字…...

R语言【sp】——SpatialPoints():创建类SpatialPoints或SpatialPointsDataFrame的对象

Package sp version 1.5-0 Description 从坐标或数据帧的坐标创建类 SpatialPoints-class 或 SpatialPointsDataFrame-class 的对象。 Usage SpatialPoints(coords, proj4stringCRS(as.character(NA)), bbox NULL)SpatialPointsDataFrame(coords, data, coords.nrs numeric…...

【Verilog】期末复习——简要说明仿真时阻塞赋值和非阻塞赋值的区别。always语句和initial语句的关键区别是什么?能否相互嵌套?

系列文章 数值&#xff08;整数&#xff0c;实数&#xff0c;字符串&#xff09;与数据类型&#xff08;wire、reg、mem、parameter&#xff09; 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…...

分享一个idea插件MyBatisX的Bug

分享一个idea插件MyBatisX的Bug The plugin com.baomidou.plugin.idea. mybatisx failed to save settings and has been disabled. Please restart IntelliJ IDEAjava.lang.Throwableat com.intellij.openapi.project.DumbServiceImpl.queueTask(DumbServiceImpl.java:293)at…...

Linux网络

一、Linux网络 查看基础的网络配置 网关、路由&#xff1a;route —n 网关、路由route —nIP地址ifconfig ip aDNS 服务器cat /etc/resolv.conf主机名hostname网络连接状态ss、netstat、syn—sent域名解析nalookup、host 1.1 ifconfig 网络接口配置 临时性修改网卡 …...

Copilot 插件的使用介绍:如何快速上手

GitHub Copilot 本文主要介绍如何通过脚本工具激活 GitHub Copilot 插件&#xff0c;提供安装及激活图文教程&#xff0c;大家按下面操作即可激活GitHub Copilot插件&#xff0c;免费使用Ai编码工具 一、GitHub Copilot 介绍 GitHub Copilot 是由 GitHub 和 OpenAI 共同开发的…...

kubesphere和k8s的使用分享

文章目录 什么是kubernetesKubernetes的部分核心概念互式可视化管理平台与kubernetes的关系市面是常见的kubernetes管理平台 什么是kubesphereKubesphere默认安装的组件Kubesphere涉及的服务组件kubesphere的安装Kubesphere相关的内容 什么是kubernetes 就在这场因“容器”而起…...

macos m1如何安装指定版本的redis

安装指定版本的Redis在macOS M1上可以通过Homebrew进行操作。Homebrew是一个在macOS上管理软件包的常用工具。 要安装特定版本的Redis&#xff0c;请首先确保已经安装了Homebrew。然后&#xff0c;可以通过以下步骤安装指定版本的Redis&#xff1a; 步骤&#xff1a; 查找可用…...

python 多线程 守护线程

daemon线程&#xff1a;守护线程&#xff0c;优先级别最低&#xff0c;一般为其它线程提供服务。通常&#xff0c;daemon线程体是一个无限循环。如果所有的非daemon线程(主线程以及子线程&#xff09;都结束了&#xff0c;daemon线程自动就会终止。t.daemon 属性&#xff0c;设…...

以unity技术开发视角对android权限的讲解

目录 前言 Android权限分类 普通权限 普通权限定义 普通权限有哪些 危险权限 危险权限的定义 危险权限有哪些 动态申请权限实例 申请单个权限实例 第一步&#xff1a;在清单文件中声明权限 第二步&#xff1a;在代码中进行动态申请权限 申请多个权限实例 第一步&am…...

910b上跑Chatglm3-6b进行流式输出【pytorch框架】

文章目录 准备阶段避坑阶段添加代码结果展示 准备阶段 配套软件包Ascend-cann-toolkit和Ascend-cann-nnae适配昇腾的Pytorch适配昇腾的Torchvision Adapter下载ChatGLM3代码下载chatglm3-6b模型&#xff0c;或在modelscope里下载 避坑阶段 每个人的服务器都不一样&#xff0…...

2024年江苏省职业院校技能大赛高职学生组软件测试—任务五接口测试题目

2024年江苏省职业院校技能大赛高职学生组软件测试任务五 接口测试 任务要求 题目1&#xff1a;登录接口脚本编写和执行测试。 1、登录接口描述如下&#xff1a; 接口功能&#xff1a;提供用户登录功能处理&#xff0c;根据传入的用户名和密码判断登录状态。 接口地址&…...

螺旋数字矩阵 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 疫情期间&#xff0c;小明隔离在家&#xff0c;百无聊赖&#xff0c;在纸上写数字玩。他发明了一种写法: 给出数字个数n和行数m (0 < n < 999&#xff0c;…...

更改ERPNEXT源

更改ERPNEXT源 一&#xff0c; 更改源 针对已经安装了erpnext的&#xff0c;需要更改源的情况&#xff1a; 1, 更改为官方默认源, 进入frapp-bench的目录&#xff0c; 然后执行: bench remote-reset-url frappe //重设frappe的源为官方github地址。 bench remote-reset-url…...

配置基本QinQ示例

QinQ简介 定义 QinQ&#xff08;802.1Q-in-802.1Q&#xff09;技术是一项扩展VLAN空间的技术&#xff0c;通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能&#xff0c;可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag&#x…...

界面控件DevExpress Blazor Grid v23.2 - 支持全新的单元格编辑模式

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验&#xff0c;这个UI自建库提供了一套全面的原生Blazor UI组件&#xff08;包括Pivot Grid、调度程序、图表、数据编辑器和报表等&#xff09;。 在这篇文章中&#xff0c;我们将介…...

深入剖析pcap中的网络异常:TTL过期攻击、ARP中毒、TCP重传与重叠碎片等

网络流量数据包捕获是网络安全领域的重要部分&#xff0c;而pcap文件则是这一过程的常见载体。为了深入解析pcap文件中潜在的可疑网络流量&#xff0c;我们需要运用强大的网络安全威胁评估与审计工具。这些工具能够帮助我们捕捉、记录、检测和诊断网络中的数据传输问题&#xf…...

网站被挂黑链怎么办

网站被挂黑链这种事情总是防不胜防&#xff0c;且不说网站本身的安全防护做的是否到位&#xff0c;但只要被盯上了就难逃厄运。即使是企业机构的网站也难逃被黑的经历&#xff0c;更何况用户苦心经营的网站&#xff0c;因此首先需要正确看待挂黑链这个现象&#xff0c;网站被挂…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

面试高频问题

文章目录 &#x1f680; 消息队列核心技术揭秘&#xff1a;从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"&#xff1f;性能背后的秘密1.1 顺序写入与零拷贝&#xff1a;性能的双引擎1.2 分区并行&#xff1a;数据的"八车道高速公路"1.3 页缓存与批量处理…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...