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

day29 第八章 贪心算法 part03

134. 加油站

“可以换一个思路,首先如果总油量减去总消耗大于等于零那么一定可以跑完一圈,说明 各个站点的加油站 剩油量rest[i]相加一定是大于等于零的。

每个加油站的剩余量rest[i]为gas[i] - cost[i]。

i从0开始累加rest[i],和记为curSum,一旦curSum小于零,说明[0, i]区间都不能作为起始位置,因为这个区间选择任何一个位置作为起点,到i这里都会断油,那么起始位置从i+1算起,再从0计算curSum。” ----代码随想录

class Solution:def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:rest = []n = len(gas)for i in range(n):rest.append(gas[i]-cost[i])if sum(rest) < 0:return -1cur_sum = 0start = 0for i in range(n):cur_sum += rest[i]if cur_sum < 0:cur_sum = 0start = i+1# print('start=', start)if start>=n:return -1else:return start

135. 分发糖果

记得拆分,从左往右和从右往左

“本题涉及到一个思想,就是想处理好一边再处理另一边,不要两边想着一起兼顾,后面还会有题目用到这个思路” --代码随想录

class Solution:def candy(self, ratings: List[int]) -> int:n = len(ratings)candy_l = [1] * ncandy_r = [1] * n# candy_l# candy_r[-1] = 1# from left to right, compare to the previous childfor i in range(1, n):if ratings[i] > ratings[i-1]:candy_l[i] = candy_l[i-1]+1# from right to left, compare to the next childfor i in range(n-1, 0, -1):if ratings[i] < ratings[i-1]:candy_r[i-1] = candy_r[i] + 1candy = []for i in range(n):candy.append(max(candy_l[i], candy_r[i]))# print('candy_l:', candy_l)# print('candy_r:', candy_r)# print('candy:', candy)result = sum(candy) return result

860.柠檬水找零

class Solution:def lemonadeChange(self, bills: List[int]) -> bool:changes = {5: 0, 10: 0, 20: 0}for bill in bills:changes[bill] += 1if bill == 5:continueelif bill == 10:if changes[5] == 0:return Falsechanges[5] -= 1else:if changes[10] > 0 and changes[5] > 0:changes[5] -= 1changes[10] -= 1elif changes[5] >= 3:changes[5] -= 3else:return Falsereturn True

406.根据身高重建队列

list的insert方法时间复杂度是O(n)。

要注意语言,尽量深耕一门语言。

class Solution:def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:people.sort(key=lambda x: (-x[0], x[1])) # 第一个数从大到小排,第二个数从小到大排que = []for p in people:que.insert(p[1], p)return que

相关文章:

day29 第八章 贪心算法 part03

134. 加油站 “可以换一个思路&#xff0c;首先如果总油量减去总消耗大于等于零那么一定可以跑完一圈&#xff0c;说明 各个站点的加油站 剩油量rest[i]相加一定是大于等于零的。 每个加油站的剩余量rest[i]为gas[i] - cost[i]。 i从0开始累加rest[i]&#xff0c;和记为curSum…...

贪心算法(19)(java)重构字符串

题目&#xff1a;给定一个字符串 s &#xff0c;检查是否能重新排布其中的字母&#xff0c;使得两相邻的字符不同。 返回 s 的任意可能的重新排列。若不可行&#xff0c;返回空字符串 "" 。 示例 1: 输入: s "aab" 输出: "aba"示例 2: 输入:…...

Linux下C语言与OpenGL游戏开发指南

1. 为什么选择 Linux C OpenGL&#xff1f; 跨平台兼容性&#xff1a;OpenGL 是跨平台的图形 API&#xff0c;编写的代码稍作修改即可在 Windows/macOS 上运行。 性能控制&#xff1a;C 语言提供底层内存管理和硬件访问能力&#xff0c;适合高性能游戏开发。 开源生态&…...

深入 Java 正则表达式源码:透视 Matcher.group(int) 的分组提取机制

在 Java 中&#xff0c;正则表达式无疑是文本处理的重要工具。而 Matcher.group(int group) 是其中非常关键的一个方法&#xff0c;它用于提取正则中的分组内容。今天我们不仅通过一个例子来看它的使用方法&#xff0c;还会结合底层源码&#xff0c;深入理解它背后的机制。 实…...

解决 Spring Boot 启动报错:数据源配置引发的启动失败

启动项目时&#xff0c;控制台输出了如下错误信息&#xff1a; Error starting ApplicationContext. To display the condition evaluation report re-run your application with debug enabled. 2025-04-14 21:13:33.005 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporte…...

【深度学习的骨架与脉搏】语义分割的卷积神经网络·U-Net

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;《深度学习理论直觉三十讲》_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 …...

ELK+Filebeat 深度部署指南与实战测试全解析

一、介绍 ELK&#xff1a; ELasticsearch ,Logstash,Kibana三大开源框架首字母简写,市面上也被称为Elastic Stack。 Elasticsearch 是一个基于 Lucene 的分布式搜索平台框架&#xff0c;通过 Restful 方式进行交互&#xff0c;具备近实时搜索能力。像百度、Google 这类大数据全…...

Java设计模式之中介者模式:从入门到架构级实践

一、什么是中介者模式&#xff1f; 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为型设计模式&#xff0c;其核心思想是通过引入一个中介对象来封装多个对象之间的交互关系。这种模式将原本复杂的网状通信结构转换为星型结构&#xff0c;类似于现实生活中的机…...

L2TP通道基础实验

目录 实验拓扑&#xff1a; 一、需求配置LAC设置&#xff1a; 界面设置&#xff1a; ​编辑LNS设置&#xff1a; 建立静态路由&#xff1a;​编辑 策略配置&#xff1a; 二、测试 通讯测试&#xff1a; 实验拓扑&#xff1a; 一、需求配置 LAC设置&#xff1a; [LAC]l2…...

关于字节跳动旗下的豆包(DouBao)软件的详解、核心功能以及与同类产品的对比分析

以下是关于豆包&#xff08;DouBao&#xff09;软件的详解、核心功能以及与同类产品的对比分析&#xff1a; 一、豆包&#xff08;DouBao&#xff09;详解 豆包是字节跳动推出的一款多功能人工智能助手&#xff0c;主打“智能助手场景化工具”结合&#xff0c;覆盖日常生活、…...

如何在本地修改 Git 项目的远程仓库地址

✅ 场景说明 你当前的 Git 项目地址是&#xff1a; http://192.168.0.16/xxx.git你希望把它改成&#xff1a; http://192.168.0.22:8099/xxx.git&#x1f9e9; 操作步骤 步骤 ①&#xff1a;进入项目所在目录 你已经在正确路径下了&#xff1a; cd C:\Develop\xxx确认这个…...

Gitea 1.23.7 速配

复用容器内的postgresql CREATE USER gitea WITH PASSWORD gitea; CREATE DATABASE gitea; GRANT ALL PRIVILEGES ON DATABASE gitea TO gitea; docker-compose.yml 内容 gitea:image: gitea/gitea:latestcontainer_name: giteaenvironment:- GITEA__server__HTTP_ADDR0.0.0.…...

JavaScript — 函数定义

介绍 JavaScript函数是执行特定任务的代码块&#xff0c;可通过多种方式定义。传统函数声明使用function关键字&#xff0c;后接函数名和参数列表&#xff0c;这种声明会被提升至作用域顶部。函数表达式则将匿名或具名函数赋值给变量&#xff0c;遵循变量作用域规则&#xff0…...

Allure安装与使用【macOS】

安装&#xff1a; brew install allure 安装插件&#xff1a; pip install allure-pytest2.8.16 生成一个html格式的报告&#xff0c;步骤&#xff1a; 执行生成json&#xff0c;制定结果保存目录 pytest --alluredirreport test_demo.py 查看测试保报告方式 将json转成h…...

​‌FireCrawl‌爬虫工具​, Craw4ai

‌FireCrawl‌是一款开源的AI爬虫工具&#xff0c;专门用于Web数据提取&#xff0c;并将其转换为Markdown格式或其他结构化数据。FireCrawl特别适合处理使用JavaScript动态生成的网站&#xff0c;能够自动抓取网站及其所有可访问的子页面内容&#xff0c;并将其转换为适合大语言…...

【Python爬虫】详细入门指南

目录 一、简单介绍 二、详细工作流程以及组成部分 三、 简单案例实现 一、简单介绍 在当今数字化信息飞速发展的时代&#xff0c;数据的获取与分析变得愈发重要&#xff0c;而网络爬虫技术作为一种能够从互联网海量信息中自动抓取所需数据的有效手段&#xff0c;正逐渐走入…...

Cesium.Cesium3DTileset设置贴地,tileset.readyPromise.then报错

tileset.readyPromise.then(function(tileset) { }); 用的readyPromise函数&#xff0c;却报错了&#xff0c;通过参考别人的博客内容发现最终修改的是 modelMatrix这个参数的内容&#xff0c;所以直接舍弃使用readyPromise函数&#xff0c;在代码中等 viewer.scene.primitiv…...

卫星电话扬帆智慧海洋,构筑蓝海通信新生态

海洋&#xff0c;承载着全球90%的贸易运输量&#xff0c;更是我国“向海图强”战略的核心战场。但是&#xff0c;全球95%的海洋区域仍处于蜂窝网络覆盖的“真空地带”&#xff0c;近海信号不稳、远洋通信中断的难题长期制约着海洋经济的纵深发展。技术革新是推动发展的强大引擎…...

大模型不是在推理,只是在复述??

目的 看见一篇论文Recitation over Reasoning: How Cutting-Edge Language Models Can Fail on Elementary School-Level Reasoning Problems?&#xff0c;论文中建立了一个推理题库&#xff0c;通过将推理问题进行改写&#xff08;通过只改写几个字&#xff0c;颠覆整个问题…...

安全编码课程 实验7 并发

实验项目&#xff1a;C 多线程中的数据竞争与同步机制 实验要求&#xff1a; 1. 编写基础代码&#xff1a;模拟账户余额取款 创建一个全局共享变量 int balance 100&#xff0c;表示初始余额&#xff1b; 创建两个线程 Thread A 和 Thread B&#xff0c;尝试各自取出 100 元&a…...

【vue】2.16简单案例

一、高亮显示点击文字 使用vue绑定页面 设置默认样式 使用for循环数组数据展示&#xff0c;并取得索引 创建点击事件并传承&#xff0c;创建num变量 方法中num传进来的参数&#xff0c; 在内容中使用&#xff1a;class和三元运算符&#xff0c;当numkey时是true显示&#xff0c…...

多线程进阶知识篇(一)

文章目录 一、开启线程1. start()2. run() 二、单核/多核CPU1. 单核CPU2. 多核CPU3.烧水问题 三、操作线程的命令四、并发的本质五、线程上下文切换1. 定义2. 原因 一、开启线程 1. start() 调用 start() 方法会启动一个新的线程&#xff0c;每次调用 start()&#xff0c;线程…...

【benepar】benepar安装会自动更新pytorch

直接pip install benepar&#xff0c;安装benepar0.2.0时会自动更新torch的版本 解决方法&#xff1a;去https://pypi.org/project/benepar/0.1.3/找历史版本 我的适配版本&#xff1a;python3.9&#xff0c;torch1.11.0&#xff08;cuda11.3&#xff09;&#xff0c;对应的ben…...

智能云图库-1-项目初始化

项目中的异常处理 自定义异常 在exception包下新建错误码枚举类&#xff1a; Getter public enum ErrorCode {SUCCESS(0, "ok"),PARAMS_ERROR(40000, "请求参数错误"),NOT_LOGIN_ERROR(40100, "未登录"),NO_AUTH_ERROR(40101, "无权限&q…...

每日算法-250414

每日算法学习记录 - 240414 记录今天学习和解决的两道 LeetCode 算法题&#xff0c;主要涉及二分查找的应用。 162. 寻找峰值 题目描述 思路分析 核心思想&#xff1a;二分查找 题目要求找到数组中的任意一个峰值。峰值定义为比其相邻元素都大的元素。题目还隐含了一个条件…...

鸿蒙NEXT开发格式化工具类(ArkTs)

import { i18n } from kit.LocalizationKit;/*** 格式化工具类* 提供电话号码格式化、归属地查询、字符转换等功能。* author: 鸿蒙布道师* since: 2025/04/14*/ export class FormatUtil {/*** 判断传入的电话号码格式是否正确。* param phone - 待验证的电话号码* param coun…...

HarmonyOS 第2章 Ability的开发,鸿蒙HarmonyOS 应用开发入门

第2章 Ability的开发 本章内容 本章介绍HarmonyOS的核心组件Ability的开发。 2.1 Ability概述 2.2 FA模型介绍 2.3 Stage模型介绍 2.4 Ability内页面的跳转和数据传递 2.5 Want概述 2.6 实战:显式Want启动Ability 2.7 实战:隐式Want打开应用管理 2.8 小结 2.9 习题 2.1 Abili…...

CS5346 - Interactivity in Visualization 可视化中的交互

文章目录 Visualization representation interactionInteraction &#xff08;交互&#xff09;Benefits (好处)Typical Interaction Techniques&#xff08;交互技术&#xff09;SelectFilteringAbstract / Elaborate几何放缩&#xff08;Geometric zoom)语义放缩&#xff0…...

AI与我共创WEB界面

记录一次压测后的自我技术提升 这事儿得从机房停电说起。那天吭哧吭哧做完并发压测,正准备截Zabbix监控图写报告,突然发现监控曲线神秘失踪——系统组小哥挠着头说:“上次停电后,zabbix服务好像就没起来过…” 我盯着空荡荡的图表界面,大脑的CPU温度可能比服务器还高。 其…...

python蓝桥杯备赛常用算法模板

一、python基础 &#xff08;一&#xff09;集合操作 s1 {1,2,3} s2{3,4,5} print(s1|s2)#求并集 print(s1&s2)#求交集 #结果 #{1, 2, 3, 4, 5} #{3}&#xff08;二&#xff09;对多维列表排序 1.新建列表 list1[[1,2,3],[2,3,4],[0,3,2]] #提取每个小列表的下标为2的…...

代码随想录第17天:二叉树

一、二叉搜索树的最近公共祖先&#xff08;Leetcode 235&#xff09; 由于是二叉搜索树&#xff0c;节点的值有严格的顺序关系&#xff1a;左子树的节点值都小于父节点&#xff0c;右子树的节点值都大于父节点。利用这一点&#xff0c;可以在树中更高效地找到最低公共祖先。 c…...

第8篇:Linux程序访问控制FPGA端HEX<一>

Q&#xff1a;如何从DE1-SoC_Computer系统的ARM A9处理器访问FPGA端的七段数码管呢&#xff1f; A&#xff1a;DE1-SoC_Computer系统中有2个连接FPGA端HEX外设的并行端口HEX5_HEX4和HEX3_HEX0&#xff0c;每个端口有一个32位只读Data寄存器。地址为0xFF200020的寄存器驱动4个数…...

Android 添加一个自己的系统服务SystemService

Android 系统服务&#xff08;System Services&#xff09;是 Android 操作系统的核心组件&#xff0c;运行在系统层面&#xff0c;为应用程序提供底层硬件访问、系统资源管理以及跨应用功能支持。这些服务在后台持续运行&#xff0c;由系统进程&#xff08;如 system_server&a…...

git安装(windows)

通过网盘分享的文件&#xff1a;资料(1) 链接: https://pan.baidu.com/s/1MAenYzcQ436MlKbIYQidoQ 提取码: evu6 点击next 可修改安装路径 默认就行 一般从命令行调用&#xff0c;所以不用创建。 用vscode&#xff0c;所以这么选择。...

C# visionpro联合编程中遇到的问题之 R6025 - pure virtual function call

C# visionpro联合编程中遇到的问题之 R6025 - pure virtual function call R6025 pure virtual function call解决方法步骤 1: 获取所有相机步骤 2: 遍历并关闭相机完整代码 R6025 pure virtual function call 如果错误 “R6025 - pure virtual function call” 发生在关闭窗体…...

OTA技术(一):原理与实现方案

目录 一.引言 二.核心原理 2.1 定义与分类 2.2 系统架构 2.3 典型的升级流程 三.嵌入式系统中的OTA实现方案 3.1 存储空间划分 3.2 关键技术 一.引言 在智能手机上点击系统更新、电动汽车解锁新功能、智能家居设备自动修复漏洞……这些场景背后都离不开一项关键技术——…...

strings.LastIndexAny 使用详解

目录 1. 官方包 2. 支持版本 3. 官方说明 4. 作用 5. 实现原理 6. 推荐使用场景和不推荐使用场景 推荐场景 不推荐场景 7. 使用场景示例 示例1&#xff1a;官方示例 示例2&#xff1a;日志清洗&#xff08;去除末尾的乱码或非法字符&#xff09; 8. 性能对比 性能…...

大型商场运营新变革:AcrelCloud - 3200 预付费系统应用全解析

一、方案概述 在现代商业运营和物业管理中&#xff0c;大型商场、商业小区以及大集团和大物业面临着复杂的费用收取和管理难题。安科瑞的 AcrelCloud - 3200 远程预付费管控云平台&#xff0c;借助先进的预付费电表等设备&#xff0c;为解决这些问题提供了高效的一体化解决方案…...

鸿蒙开发07-interface

在 ArkTS&#xff08;HarmonyOS Ability Runtime TypeScript&#xff09;中&#xff0c;interface&#xff08;接口&#xff09;是一种强大的类型工具&#xff0c;它主要用于定义对象的结构&#xff0c;为对象的属性和方法提供类型约束&#xff0c;帮助开发者编写更加规范、可维…...

Java从入门到“放弃”(精通)之旅——方法的使用⑤

Java从入门到“放弃”&#xff08;精通&#xff09;之旅&#x1f680;——方法的使用⑤ &#x1f4d6;引言&#xff1a; 在编程领域&#xff0c;代码如同精密的齿轮相互咬合驱动程序运转。随着项目规模渐长&#xff0c;重复的代码片段如同冗余的齿轮&#xff0c;不仅增加负重…...

5 C 程序全流程解析:编写、预处理、编译、汇编、链接、运行与 GCC 指令详解

1 C 程序运行机制流程概述 通过以上步骤&#xff0c;我们可以将一个 C 语言源代码文件逐步转换为一个可执行的二进制程序。这一过程涉及多个关键工具和步骤&#xff0c;每一步都承担着特定的任务&#xff0c;发挥着独特的作用。深入理解这些步骤&#xff0c;不仅有助于我们更好…...

leetcode:1351. 统计有序矩阵中的负数(python3解法)

难度&#xff1a;简单 给你一个 m * n 的矩阵 grid&#xff0c;矩阵中的元素无论是按行还是按列&#xff0c;都以非严格递减顺序排列。 请你统计并返回 grid 中 负数 的数目。 示例 1&#xff1a; 输入&#xff1a;grid [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]] 输…...

hive数仓要点总结

1.OLTP和OLAP区别 OLTP&#xff08;On-Line Transaction Processing&#xff09;即联机事务处理&#xff0c;也称为面向交易的处理过程&#xff0c;其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理&#xff0c;并在很短的时间内给出处理结果&#xff0c;是对用…...

LeetCode[541]反转字符串Ⅱ

思路&#xff1a; 题目给我们加了几个规则&#xff0c;剩余长度小于2k&#xff0c;大于等于k就反转k个&#xff0c;小于k就全部反转&#xff0c;我们按照这个逻辑来就行。 第一就是大于等于k就反转k个&#xff0c;我们for循环肯定是i2k了&#xff0c;接下来就是判断是否大于等于…...

瑞幸微RK系列平台的YOLO部署(上篇)

&#x1f387;环境配置 &#x1f389;前言 部署的第一步是对环境的配置&#xff0c;不同的平台的平台需要依赖的环境不同&#xff0c;之前在英伟达的Jetson系列部署过&#xff0c;其主要是需要配置CUDA和CUDNN的环境&#xff0c;需要加速推理的话可能还需要TensorRT的环境。 …...

HarmonyOS:页面滚动时标题悬浮、背景渐变

一、需求场景 进入到app首页或者分页列表首页时&#xff0c;随着页面滚动&#xff0c;分类tab要求固定悬浮在顶部。进入到app首页、者分页列表首页、商品详情页时&#xff0c;页面滚动时&#xff0c;顶部导航栏&#xff08;菜单、标题&#xff09;背景渐变。 二、相关技术知识点…...

无人设备遥控器之安全防护与预警篇

无人设备遥控器的安全防护与预警是保障无人机、无人船、无人车等无人系统安全运行的关键环节。随着无人设备在农业、测绘、物流、安防等领域的广泛应用&#xff0c;其遥控器的安全性与可靠性显得尤为重要。 一、安全防护 1. 物理安全防护 外壳防护&#xff1a;采用防水、防尘…...

win10win11启用组策略编辑器

今天发现家庭版的win11系统没有组策略编辑器&#xff0c; 桌面新建txt文件&#xff0c;打开 编写以下脚本&#xff1a; echo off pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >Li…...

谷歌浏览器的开发者模式如何开启及安装教程

在谷歌浏览器&#xff08;Google Chrome&#xff09;中开启开发者模式并安装扩展程序&#xff08;如未上架商店的插件或自定义扩展&#xff09;的步骤如下&#xff1a; 一、开启开发者模式 打开扩展管理页面 在浏览器地址栏输入&#xff1a;chrome://extensions/ 或通过菜单进入…...

WebRTC实时通话EasyRTC嵌入式音视频通信SDK,构建智慧医疗远程会诊高效方案

一、方案背景 当前医疗领域&#xff0c;医疗资源分布不均问题尤为突出&#xff0c;大城市和发达地区优质医疗资源集中&#xff0c;偏远地区医疗设施陈旧、人才稀缺&#xff0c;患者难以获得高质量的医疗服务&#xff0c;制约医疗事业均衡发展。 EasyRTC技术基于WebRTC等先进技…...