day32贪心算法 part02
贪心系列的时候,题目和题目之间貌似没有什么联系,是真的就是没什么联系,因为贪心无套路,没有个整体的贪心框架解决一系列问题,只能是接触各种类型的题目锻炼自己的贪心思维。贪心只是一类题的统称,并没有什么固定套路。
122. 买卖股票的最佳时机 II
给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。
返回 你能获得的 最大 利润 。
难点:这个题别用现实生活中买股票的经验去想,现实生活中哪有知道明天和后几天的股票价格的
其实是阅读理解题,描述问题很抽象,其实就是若相邻两数是升高,则累加其升高的值
class Solution {public int maxProfit(int[] prices) {// 先买才能卖,所以是向后比较,有的赚就买入,这就是贪心// 别的讲一堆都是干扰项// 这个题别用现实生活中买股票的经验去想,现实生活中哪有知道明天和后几天的股票价格的int pofit = 0;for (int i = 0; i < prices.length - 1; i++) {if (prices[i + 1] > prices[i]) { // 如果在第一天看到第二天股票要涨,赶紧买入,第二天卖出pofit += prices[i + 1] - prices[i];}}return pofit;}
}
55. 跳跃游戏
给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。
难点:这题还行,不算难,
class Solution {public boolean canJump(int[] nums) {if (nums.length == 1) return true;int cover = nums[0];for (int i = 0; i <= cover; i++) {cover = Math.max(cover, i + nums[i]);if (cover >= nums.length - 1) return true; // 注意这里是nums.length - 1,数组取不到length}return false;}
}
45. 跳跃游戏 II
给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。
每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:
0 <= j <= nums[i]
i + j < n
返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。
难点:一定要跟着代码结合上面的这个图走一遍,就啥都懂了
class Solution {public int jump(int[] nums) {if (nums == null || nums.length == 1 || nums.length == 0) return 0;int curDistance = 0; // 一开始站在0这个位置上,所以当前覆盖距离就是0int maxDistance = 0; // 这个变量是用来记录当前这一步里最远能跳多远int count = 0;for (int i = 0; i < nums.length; i++) { // 遍历这些元素就是在找这一步里最远能走多远// 每遍历一个nums的元素,就要是否需要更新一次最远覆盖距离maxDistance = Math.max(maxDistance, i + nums[i]);if (maxDistance >= nums.length - 1) { // 说明再跳一步就能达到最远距离count++;return count;}//走到当前覆盖的最大区域时,更新下一步可达的最大区域// 这里是最难理解的,这里相当于走一步的过程,因为虽然当前最大覆盖距离在变// ,但是你那一步是没有走出去的if (i == curDistance) { // 这一步走到头了,该走下一步了curDistance = maxDistance; // 往最远的地方走count++;}}return count;}
}
相关文章:

day32贪心算法 part02
贪心系列的时候,题目和题目之间貌似没有什么联系,是真的就是没什么联系,因为贪心无套路,没有个整体的贪心框架解决一系列问题,只能是接触各种类型的题目锻炼自己的贪心思维。贪心只是一类题的统称,并没有什么固定套路。 122. 买卖…...
判断docker 镜像启动成功 shell脚本
要编写一个Shell脚本来判断Docker镜像是否启动成功,你可以使用docker ps命令来检查容器是否在运行状态。以下是一个简单的Shell脚本示例,用于判断Docker镜像是否成功启动: #!/bin/bash# 指定要检查的容器名称或ID CONTAINER_NAME"your_c…...
Android AppCompatActivity 方法详解
在 Android 开发中,AppCompatActivity 是一个常用的类,它提供了对新版 Android 特性在旧版 Android 上的兼容支持。作为 Android 支持库的一部分,它通常被用作活动(Activity)的基类。下面我们将介绍 AppCompatActivity…...
[FastDDS] 基于eProsima FastDDS的移动机器人数据中间件——介绍与准备工作
[FastDDS] 基于eProsima FastDDS的移动机器人数据中间件——介绍与准备工作 注明:无 本栏目主要讲述,基于eProsima FastDDS的移动机器人数据中间件的实现、使用、性能测试。 What is [ FastDDS ]: eProsima Fast DDS是DDS(数据分发服务&…...

4. 编写app组件
1. 代码 main.ts // 引入createApp用于创建应用 import {createApp} from "vue"// 引入App根组件 import App from ./App.vue createApp(App).mount(#app) App.vue <!-- vue文件可以写三种标签1. template标签,写html结构2. script 脚本标签&…...

经典的算法面试题(1)
题目: 给定一个整数数组 nums,编写一个算法将所有的0移到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 注意:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。 这…...
微信小程序 --- mobx-miniprogram miniprogram-computed
1.1 mobx-miniprogram 介绍 目前已经学习了 6 种小程序页面、组件间的数据通信方案,分别是: 数据绑定:properties获取组件实例:this.selectComponent()事件绑定:this.triggerEvent()获取应用实例:getApp(…...

【HTML】HTML基础2(一些常用标签)
目录 例子 首先是网页图标 然后是一些常用标签 插入图片 例子 <!DOCTYPE html> <html><head><link rel"icon" href"img/银河护卫队-星爵.png" type"image/x-icon"><meta charset"utf-8"><title>…...

Jmeter 安装
JMeter是Java的框架,因此在安装Jmeter前需要先安装JDK,此处安装以Windows版为例 1. 安装jdk:Java Downloads | Oracle 安装完成后设置环境变量 将环境变量JAVA_HOME设置为 C:\Program Files\Java\jdk1.7.0_25 在系统变量Path中添加 C:\Pro…...

控制液压比例插装阀放大器
比例阀放大器接收来自控制器的低功率电信号,并将其转换为足以驱动比例阀的高功率信号。与传统的开关型电磁铁不同,比例电磁铁可以实现连续控制,允许阀门在开和关之间进行无级调节,从而实现更精细的流量和压力控制。一个完整的电液…...

[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…...
nftables 测试一拒绝所有流量
要配置 nftables 先拒绝所有流量,然后再添加允许的规则,您可以按照以下步骤操作: 创建一个空的 nftables 配置文件(例如 /etc/nftables.conf)并添加如下内容: flush rulesettable inet filter {chain input…...

练习 3 Web [ACTF2020 新生赛]Upload
[ACTF2020 新生赛]Upload1 中间有上传文件的地方,试一下一句话木马 txt 不让传txt 另存为tlyjpg,木马文件上传成功 给出了存放目录: Upload Success! Look here~ ./uplo4d/06a9d80f64fded1e542a95e6d530c70a.jpg 下一步尝试改木马文件后缀…...
Linux中docker项目提示No such file or directory
本来以为是文件权限问题,后来发现是个非常蠢的问题 文件没有映射到容器中 docker文件映射语法 Docker 使用 -v 或 --volume 参数来指定文件映射。 增加在运行命令后 -v <宿主机目录>:<容器目录> 其中,宿主机目录 是指要映射的宿主机上的…...
PyTorch 中的 apply
Abstract nn.Module[List].apply(callable)Tensor.apply_(callable) → TensorFunction.apply(Tensor...) nn.Module[List].apply()? 源码: def apply(self: T, fn: Callable[[Module], None]) -> T:"""Typical use includes initializing the paramete…...

张宇30讲学习笔记
初等数学 x \sqrt{x} x 是算数平方根,一定≥0; x 2 \sqrt{x^2} x2 |x| x2|x2||x|2 x3≠|x3||x|3 不等式 a>0,b>0,则ab≥2 a b \sqrt{ab} ab 对数 ln a b \frac{a}{b} balna-lnb 高等数学 单调性 线性代数...

SpringBoot接口防抖(防重复提交)的一些实现方案
前言 啥是防抖 思路解析 分布式部署下如何做接口防抖? 具体实现 请求锁 唯一key生成 重复提交判断 前言 作为一名老码农,在开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统&a…...

Qt/C++音视频开发67-保存裸流加入sps/pps信息/支持264/265裸流/转码保存/拉流推流
一、前言 音视频组件除了支持保存MP4文件外,同时还支持保存裸流即264/265文件,以及解码后最原始的yuv文件。在实际使用过程中,会发现部分视频文件保存的裸流文件,并不能直接用播放器播放,查阅资料得知原来是缺少sps/p…...
【Web】速谈FastJson反序列化中TemplatesImpl的利用
目录 简要原理分析 exp 前文:【Web】关于FastJson反序列化开始前的那些前置知识 简要原理分析 众所周知TemplatesImpl的利用链是这样的: TemplatesImpl#getOutputProperties() -> TemplatesImpl#newTransformer() -> TemplatesImpl#getTransl…...
RK3568 RK809电源管理 RTC功能使能 定时唤醒
概述 RK809 是一款高性能 PMIC,RK809 集成 5 个大电流 DCDC、9 个 LDO、2 个 开关SWITCH、 1个 RTC、1个 高性能CODEC、可调上电时序等功能。 系统中各路电源总体分为两种:DCDC 和 LDO。两种电源的总体特性如下(详细资料请自行搜索): DCDC:输入输出压差大时,效率高,但…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...