LeetCode 每日一题 2024/9/30-2024/10/6
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步
目录
- 9/30 1845. 座位预约管理系统
- 10/1 983. 最低票价
- 10/2 1870. 准时到达的列车最小时速
- 10/3 1928. 规定时间内到达终点的最小花费
- 10/4 1227. 飞机座位分配概率
- 10/5 2187. 完成旅途的最少时间
- 10/6 134. 加油站
9/30 1845. 座位预约管理系统
最小堆
import heapq
class SeatManager(object):def __init__(self, n):""":type n: int"""self.l = [i for i in range(1,n+1)]heapq.heapify(self.l)def reserve(self):""":rtype: int"""return heapq.heappop(self.l)def unreserve(self, seatNumber):""":type seatNumber: int:rtype: None"""heapq.heappush(self.l, seatNumber)
10/1 983. 最低票价
dp(i) 表示从第i天到最后花的钱
如果i不需要出行 不买票
如果i需要出行 考虑买三种通行证哪种情况最优
def mincostTickets(days, costs):""":type days: List[int]:type costs: List[int]:rtype: int"""ds=set(days)du = [1,7,30]mem={}def dp(i):if i in mem:return mem[i]if i>365:return 0elif i in ds:ans = min(dp(i+d)+c for d,c in zip(du,costs))mem[i]=ansreturn anselse:ans = dp(i+1)mem[i]=ansreturn ansreturn dp(1)
10/2 1870. 准时到达的列车最小时速
二分寻找最小时速
check检查当前速度s是否能准时到达
保留两位小数将结果都乘以100
def minSpeedOnTime(dist, hour):""":type dist: List[int]:type hour: float:rtype: int"""n=len(dist)hr=round(hour*100)if hr<=100*(n-1):return -1def check(s):t = 0for i in range(n-1):t += (dist[i]+s-1)//st*=st+=dist[-1]return t*100<=hr*sl,r=1,10**7while l<r:mid = l+(r-l)//2if check(mid):r=midelse:l=mid+1return l
10/3 1928. 规定时间内到达终点的最小花费
dp[t][i]表示用t分钟到达城市i需要的最少通行费用
遍历时间t 在时间t内遍历所有的边 更新可以走的路
def minCost(maxTime, edges, passingFees):""":type maxTime: int:type edges: List[List[int]]:type passingFees: List[int]:rtype: int"""n=len(passingFees)dp = [[float("inf")]*n for _ in range(maxTime+1)]dp[0][0]=passingFees[0]for t in range(1,maxTime+1):for i,j,c in edges:if c<=t:dp[t][i]=min(dp[t][i],dp[t-c][j]+passingFees[i])dp[t][j]=min(dp[t][j],dp[t-c][i]+passingFees[j])ans = min(dp[t][n-1] for t in range(1,maxTime+1))return -1 if ans==float("inf") else ans
10/4 1227. 飞机座位分配概率
f(3)三人情况:
如果第一位乘客做在位置1上 1/3 第三位乘客一定坐在自己位置
如果第一位乘客坐在位置2上 1/3 第二位乘客坐在位置1上 1/2 第三位乘客坐在自己位置
1/3+1/31/2=1/2
f(4)四人同理 1/4+1/4f(3)+1/4*f(2)=1/2
如果n=1 那么概率100% 否则50%
def nthPersonGetsNthSeat(n):""":type n: int:rtype: float"""return 1 if n==1 else 0.5
10/5 2187. 完成旅途的最少时间
每辆车都需要不停的开
对时间进行二分查找
check检查在时间s内是否满足
def minimumTime(time, totalTrips):""":type time: List[int]:type totalTrips: int:rtype: int"""time.sort()def check(s):cnt = 0for t in time:cnt += s//tif cnt>=totalTrips:return Truereturn Falsel=1r=totalTrips*max(time)while l<r:mid =l+(r-l)//2if check(mid):r = midelse:l = mid+1return l
10/6 134. 加油站
可以从头记录gas 和cost的差值 记录油箱内的油 最终剩余不能为负数
找到中途油最小的时候 可以为负数
那么后一位必定可以完成
def canCompleteCircuit(gas, cost):""":type gas: List[int]:type cost: List[int]:rtype: int"""remain,start,mingas = 0,0,float('inf')for i in range(len(gas)):remain += gas[i]-cost[i]if remain<mingas:mingas = remainstart = (i+1)%(len(gas))if remain<0:return -1return start
相关文章:
LeetCode 每日一题 2024/9/30-2024/10/6
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 9/30 1845. 座位预约管理系统10/1 983. 最低票价10/2 1870. 准时到达的列车最小时速10/3 1928. 规定时间内到达终点的最小花费10/4 1227. 飞机座位分配概率10/5 2187. 完成…...
Redis篇(最佳实践)(持续更新迭代)
介绍一:键值设计 一、优雅的key结构 Redis 的 Key 虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id]长度不超过 44 字节不包含特殊字符 例如: 我们的登录业务࿰…...
详细介绍pandas 在python中的用法
Pandas 是 Python 中非常流行的数据分析和处理库,特别适用于处理结构化数据。它构建在 NumPy 之上,提供了更高级的功能,例如数据清理、整理、筛选和统计分析。Pandas 的核心数据结构是 Series 和 DataFrame,分别用于处理一维数据和…...
八字命理测算系统开发-源码搭建
八字命理测算系统的开发是一个结合了传统命理学与现代科技的项目,旨在为用户提供基于个人出生年、月、日、时等信息的个性化命理分析和预测。以下是开发此类系统时需要考虑的关键步骤和技术要点: 一、前期准备 1.确定需求和目标用户 与客户或团队讨论&am…...
Python批量读取mat文件
一、前言 使用Python中的h5py库实现同一目录下多个mat文件的批量读取功能,获取数据、lon、lat等信息,其他变量内容可根据自己的mat格式进行更改。 二、代码 def open_matfiles(dir, start_indexNone, end_indexNone,lev_indexNone,lev_valueNone):打开…...
UE4 材质学习笔记05(凹凸偏移和视差映射/纹理压缩设置)
一.凹凸偏移和视差映射 1.偏移映射 这需要一个高度图并且它的分辨率很低,只有256*256,事实上,如果高度图的分辨率比较低并且有点模糊,效果反而会更好 然后将高度图输出到BumpOffset节点的height插槽中, 之后利用得到…...
基于贝叶斯决策的 CAD 程序设计方案
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
算法: 二分查找题目练习
文章目录 二分查找二分查找在排序数组中查找元素的第一个和最后一个位置搜索插入位置x 的平方根山脉数组的峰顶索引寻找峰值寻找旋转排序数组中的最小值点名 总结模版 二分查找 二分查找 没啥可说的,轻轻松松~ class Solution {public int search(int[] nums, int target) {i…...
Qt开发技巧(十三)QList插入操作,扩展类型的使用,关于QSS的坑,Qt的延时方法,Qt编译的三种版本,环境搭建多练练,指向Qt源码的报错
继续讲一些Qt开发中的技巧操作: 1.QList插入操作 关于QList队列的处理中,我们最常用的就是调用append函数添加item,往前插入item很多人第一印象就是调用insert(0,xxx)来插入,其实QList完全提供了往前追加item的函数prepend()、pus…...
docker快速上手
一个轻量的虚拟机,让程序员不再纠结于环境部署,更多集中于代码编写,基础建设,开发 作用: 打包:把你软件运行所需的所有东西打包到一起 分发:把你打包好的“安装包”上传到一个镜像仓库&#…...
JAVA学习-练习试用Java实现“反转链表 II”
问题: 给定单链表的头指针 head 和两个整数 left 和 right ,其中 left < right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示例 1: 输入:head [1,2,3,4,5], left 2, right 4 输出…...
15分钟学 Python 第35天 :Python 爬虫入门(一)
Day 35 : Python 爬虫简介 1.1 什么是爬虫? 网页爬虫(Web Crawler)是自动访问互联网并提取所需信息的程序。爬虫的主要功能是模拟用户通过浏览器访问网页的操作,从而实现对网页内容的批量访问与信息提取。它们广泛应用于数据收集…...
【Qt】Qt学习笔记(一):Qt界面初识
Qt 是一个跨平台应用程序和 UI 开发框架。使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。Qt Creator是跨平台的Qt集成开发环境。 创建项目 Qt的一些界面,初学时一般选择Qt Widgets …...
Unity3D游戏的内存控制详解
前言 Unity3D是一款流行的游戏引擎,支持多种平台,包括PC、移动设备和VR等。随着游戏的复杂性不断提高,Unity3D的内存管理变得尤为重要。本文将详细介绍Unity3D游戏中的内存控制技术,包括自动内存管理、对象池、延迟加载资源和手动…...
《数据结构》--栈【概念应用、图文并茂】
本节讲完栈下次再讲一下队列,最后补充一个串,我们的线性结构基本就完事了。下图中黄色框框圈中的是我们今日份内容(分为两篇博客): 知识体系图 栈(Stack-LIFO)结构 栈的基础概念 栈(Stack)是一个后进先出(Last-In-First-Out)的一个特殊数据…...
国外电商系统开发-运维系统文件下载
文件下载,作者设计的比较先进,如果下载顺利,真的还需要点两次鼠标,所有的远程文件就自动的下载到了您的PC电脑上了。 现在,请您首选选择要在哪些服务器上下载文件: 选择好了服务器以后,现在选择…...
【CSS in Depth 2 精译_045】7.1 CSS 响应式设计中的移动端优先设计原则(上)
当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…...
在线教育新篇章:SpringBoot系统开发策略
2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...
cmdsh
#!/bin/bash #set -x bindirname "$0" bincd "$bin"; pwd echo $bin if [ $# -lt 2 ] then echo “Usage: ./runRemoteCmd.sh Command MachineTag” echo “Usage: ./runRemoteCmd.sh Command MachineTag confFile” exit fi cmd$1 tag$2 if [ a’ 3 ′…...
一键生成PPT的AI工具-Kimi!
一键生成PPT的AI工具-Kimi! 前言介绍Kimi为什么选择Kimi如何使用Kimi在线编辑PPT下载生成的PPT自己编辑 结语 😀大家好!我是向阳🌞,一个想成为优秀全栈开发工程师的有志青年! 📔今天不来讨论前后…...
六月学术盛宴启幕 | 2026年6月国际学术会议重磅来袭
2026年6月学术会议列表 | 会议亮点总结 顶尖大咖云集:学界领军人物、资深学者倾情助阵,汇聚全球科研力量现场分享前沿成果 顶尖院校强力赋能:北航、桂林电子科技大学、南方科技大学、华南理工大学等众多名校联合组织 正规出版渠道 & 高…...
MarkdownViewer++:5分钟让Notepad++变身专业Markdown编辑器的终极指南
MarkdownViewer:5分钟让Notepad变身专业Markdown编辑器的终极指南 【免费下载链接】MarkdownViewerPlusPlus A Notepad Plugin to view a Markdown file rendered on-the-fly 项目地址: https://gitcode.com/gh_mirrors/ma/MarkdownViewerPlusPlus 你是否还在…...
Petrel地质建模许可不够用?自动回收,油气勘探团队高效
你是不是也遇到这种情况?项目组突然来了个新成员,结果所有许可都满了,连老员工都得排队等。别慌,我搞懂了,Petrel许可不够用,最大的问题就是没回收,几十万的授权就浪费在没人用的角落。 闲置许…...
C++-练习-109
题目:对Tv和Remote类进行如下修改a.让它们互为友元b.在Remote类中添加一个状态变量成员,该成员描述遥控器使处于常规状态还是互动模式c.在Remote中添加一个显式模式的方法d.在Tv类中添加一个对Remote中新成员进行切换的方法,该方法仅当Tv处于…...
告别编译报错!手把手教你为最新版Keil MDK安装ARM Compiler 5(保姆级图文)
嵌入式开发者的救星:彻底解决Keil MDK缺失ARM Compiler 5的终极方案 当你满怀信心地打开一个历史遗留的嵌入式项目,准备进行功能迭代时,Keil MDK突然弹出一个冰冷的错误窗口:"Error: Compiler V5.06 update 7 (build 960) no…...
量子机器学习革新气象预测:高效台风轨迹建模
1. 量子机器学习在气象预测中的革新应用台风轨迹预测一直是气象学领域的重大挑战。传统数值天气预报(NWP)模型依赖于超级计算机集群,需要处理海量的大气动力学数据,计算成本高昂且能耗巨大。以台湾地区为例,每年平均遭受3.5次台风袭击&#x…...
告别盲测!用CANoe回放功能搭建你的车载网络自动化测试环境
告别盲测!用CANoe回放功能搭建你的车载网络自动化测试环境 车载网络测试工程师们是否经常遇到这样的困境:每次路试或台架测试后,堆积如山的CAN日志只能用于临时问题排查,无法形成可复用的测试资产?当需要验证某个历史问…...
XUnity Auto Translator:Unity游戏玩家的终极翻译解决方案
XUnity Auto Translator:Unity游戏玩家的终极翻译解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏中的生涩文本而烦恼吗?XUnity Auto Translator为你提供了…...
SAP SD新手避坑指南:交货工厂和装运点配置错了,小心订单发不出去!
SAP SD配置实战:交货工厂与装运点配置错误的深度排查手册 当销售订单在SAP系统中卡在发货环节时,背后往往隐藏着交货工厂(Plant)与装运点(Shipping Point)的配置逻辑问题。这类错误不仅会导致业务流程中断&…...
R型变压器与稳压电源:解决电压不稳跳闸,保障电器安全
1. 项目概述:从频繁跳闸到电压稳定的核心诉求如果你住在农村、城乡结合部,或者一些老旧小区,家里电器一多,或者一到用电高峰,空气开关就“啪”一声跳闸,这种烦恼我太懂了。以前我老家也这样,夏天…...
