代码随想录算法训练营第二十八天|LeetCode122.买卖股票的最佳时机II、LeetCode55. 跳跃游戏、LeetCode45.跳跃游戏II、LeetCode1005.K次取反后最大化的数组和

FSL软件安装 阅读详情

目录

前言

LeetCode122.买卖股票的最佳时机II

LeetCode55. 跳跃游戏

LeetCode45.跳跃游戏II

LeetCode1005.K次取反后最大化的数组和

一、LeetCode122.买卖股票的最佳时机II

题目链接:

代码:

二、LeetCode55. 跳跃游戏

题目链接:

代码:

三、LeetCode45.跳跃游戏II

题目链接:

代码:

四、LeetCode1005.K次取反后最大化的数组和 

题目链接:

代码:


前言

LeetCode122.买卖股票的最佳时机II

文章讲解:代码随想录

视频讲解:LeetCode:122.买卖股票最佳时机II

LeetCode55. 跳跃游戏

文章讲解:代码随想录

视频讲解:LeetCode:55.跳跃游戏

LeetCode45.跳跃游戏II

文章讲解:代码随想录

视频讲解:LeetCode: 45.跳跃游戏II

LeetCode1005.K次取反后最大化的数组和

文章讲解:代码随想录

视频讲解:LeetCode:1005.K次取反后最大化的数组和


一、LeetCode122.买卖股票的最佳时机II

题目链接:

122. 买卖股票的最佳时机 II - 力扣(LeetCode)

代码:

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int profit = 0;

        for(int i = 1; i < prices.size(); i++)
        {
            int diff = prices[i] - prices[i - 1];
            if(diff > 0)
            {
                profit += diff;
            }
        }

        return profit;
    }
};

二、LeetCode55. 跳跃游戏

题目链接:

55. 跳跃游戏 - 力扣(LeetCode)

代码:

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int scope = 0;
        if(nums.size() == 1) return true;
        for(int i = 0; i <= scope; i++)
        {
            scope = max(i + nums[i], scope);
            if(scope >= nums.size() - 1)
                return true;
        }

        return false;
    }
};

三、LeetCode45.跳跃游戏II

题目链接:

45. 跳跃游戏 II - 力扣(LeetCode)

代码:

class Solution {
public:
    int jump(vector<int>& nums) {
        if(nums.size() == 1) return 0;
        int curCover = 0;
        int nextCover = 0;
        int result = 0;
        for(int i = 0; i < nums.size(); i++)
        {
            nextCover = max(i + nums[i], nextCover);

            if(i == curCover)
            {
                curCover = nextCover;
                result++;
                if(nextCover >= nums.size() - 1)
                    break;
            }
                
        }
        return result;
    }
};

四、LeetCode1005.K次取反后最大化的数组和 

题目链接:

1005. K 次取反后最大化的数组和 - 力扣(LeetCode)

代码:

bool compare(int left, int right)
{
    return abs(left) > abs(right);
}

class Solution {
public:
    int largestSumAfterKNegations(vector<int>& nums, int k) {
        sort(nums.begin(), nums.end(), compare);
        int sum = 0;
        for(int i = 0; i < nums.size(); i++)
        {
            if(k > 0 && nums[i] < 0)
            {
                nums[i] *= -1;
                k--;
            }
            sum += nums[i];
        }
        if(k % 2 == 1)
        {
            sum -= (2 * nums[nums.size() - 1]);
        }
        
        return sum;
    }
};
Anomalib库安装以及使用 Anomalib是一个专注于异常检测的深度学习库。它的目标是收集最新的异常检测算法,并提供用于在公共和私有数据集上进行基准测试的工具。该库提供了一系列已实现的异常检测算法,这些算法在最近的文献中有所描述。此外,Anomalib还提供了一套工具,方便开发人员开发和实现自定义模型。该库特别注重基于图像的异常检测,旨在识别数据集中的异常图像或图像中的异常像素区域。通过使用Anomalib,用户可以快速构建和评估各种异常检测算法,以满足其特定需求。 阅读详情

相关推荐

银河麒麟V10 SP3离线安装Nginx1.21.5全记录(附11个rpm包下载清单)

本文详细记录了在银河麒麟V10 SP3操作系统上离线安装Nginx 1.21.5的全过程,包括11个必备rpm包的下载清单。通过分步骤的实战指南,帮助用户在国产化环境中高效部署Nginx服务,涵盖安装、配置、调优及故障排查等关键环节,特别适合金融、政务等对安全性要求高的场景。

weixin_30872337的博客 605

代码随想录算法训练营第二十八天|LeetCode 122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II、1005.K次取反后最大化的数组和

贪心算法的经典题目!

Anastasia_sakura的博客 1766

Langfuse实战:从评估打分到问题解决的完整指南

本文详细介绍了如何利用开源LLM工程平台Langfuse对AI应用进行系统性评估与优化。从创建评估数据集、设计自动化评分函数,到深入排查常见问题并关联Trace进行精准打分,提供了完整的实战指南。最后,探讨了如何利用评估结果驱动提示词迭代与A/B测试,并给出了生产环境部署与性能优化的关键考量,帮助开发者构建可测量、可分析、可改进的LLM应用。

backprop5master的博客 651

代码随想录算法训练营第二十八天|LeetCode122.买卖股票的最佳时机II,LeetCode55.跳跃游戏,LeetCode45.跳跃游戏II,LeetCode1005.K次取反后最大化的数组和

思路:一道非常简单的题目,我们把相邻两天的差价作为利润,发现这个利润有正有负,我们只需要收集正利润,所有的正利润的综合就是这题所求的最大利润。

Liverpool0519的博客 664

遗传病变异注释预测工具安装系列之------Exomiser 安装及bug处理

Exomiser是一个Java程序,它从全外显子组或全基因组测序数据中发现潜在的致病变异。 Java 版本必须为1.8以上。 Exomiser 最新版本下载 wget -c https://github.com/exomiser/Exomiser/releases/download/11.0.0/exomiser-cli-11.0.0-distribution.zip unzip ...

qq_37329349的博客 1536

黑猫带你学eMMC协议第2篇:eMMC部分相关名词释义

1 前言 1.1 声明 本文依据eMMC JEDEC5.1、网络资料及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 本文背景 本文关键词不包括emmc jedec5.1协议第3章节:《Terms and definitions》内容。关于emmc协议层的关键词,直接查阅spec相关章节即可,清晰明了,此处没必要再列出。 本文为本人工作学习中常听到或常用到关乎于emmc/flash的一些关键词合集,没有固定分类,不需要强行记忆,供查询使用。 1.

黑猫奥利奥的博客 7433

代码随想录算法训练营第二十八天|LeetCode122 买卖股票的最佳时机II、LeetCode55 跳跃游戏、LeetCode45 跳跃游戏II、LeetCode1005 K次取反后最大化的数组和

如果最小的数字不为负数,那么就尝试把k缩小,例如k如果是单数,那么就直接等于1,然后让heap中最小的数变为负数;看完随想录后:第一想法其实有一个想法是去找到范围内最大的数,然后看看这个最大的数能不能跑脱第一个数的范围,但是没想到要如何实现。看完随想录后:原来我还是没理解局部最优的真谛,每一天都计算出来盈利收入,把能盈利的机会都争取到,最后的结果一定是最优的。看完随想录后:还是不熟悉贪心算法的理念,先想的都是数据结构上东西,也没什么意义。第一想法:感觉跟上一题一样,每次都找能走的步数最多的选项。

weixin_67709152的博客 273

AUTOSAR TcpIp模块 以太网配置开发2

someip协议之tcpIp协议

汽车电子电气 1085

代码随想录算法训练营第二十八天|LeetCode 122 买卖股票的最佳时机 II,LeetCode 55 跳跃游戏,LeetCode 45 跳跃游戏 II,LeetCode 1005

今天用时1.5h,贪心有点难。

GOD_0034的博客 229

手把手教你学simulink(16.8)--基于Simulink的小波变换滤波器(Wavelet Transform Filter)项目

基于Simulink的小波变换滤波器(Wavelet Transform Filter)项目的详细实例介绍。这个项目将重点放在小波变换滤波器的设计、实现和仿真上,帮助你理解和应用小波变换滤波器在信号处理中的作用。

MHD0815的博客 534

Qt代码-无人机地面站系统

无人机地面站系统是无人机与操作员交互的核心枢纽,需实现**无人机状态监控**(位置、姿态、电池等)、**实时通信**(基于MAVLink协议)、**任务规划**(航点编辑、航线生成)、**地图显示**(无人机位置与航迹)、**参数配置**(传感器校准、飞行模式设置)等核心功能。地面站作为`MAV_COMP_ID_GCS`(地面控制站组件ID=255),无人机通常为`MAV_COMP_ID_AUTOPILOT1`(组件ID=1)。// 航点/盘旋指令。// 北京坐标(示例)

寒寒豆豆软件公司的博客 320

代码随想录算法训练营第二十八天|LeetCode122. 买卖股票的最佳时机 II、55. 跳跃游戏、45. 跳跃游戏 II、1005. K 次取反后最大化的数组和

思路:就是每次都让后一个减当前的,大于0就加到result。

kechimakabaka的博客 36

Codex入门24-效率倍增秘籍(终极总结:10个让你开发速度翻倍的Codex高级技巧)

专栏收官之作!经过前23篇的系统学习,你已经掌握了 Codex CLI 的核心用法。本文浓缩10个实战验证的高级技巧:管道化提示词将复杂任务拆成递进指令链,模板化 SKILL.md 打造个人技能库,Shell 别名让操作快如闪电,多模型切换省钱又高效……这不是理论课,每个技巧都配有可直接运行的代码。掌握全部10招,构建你的 AI 开发工作流闭环,让开发速度真正翻倍!

yueyeguzhuo的专栏 189

代码随想录算法训练营第二十八天 | 122.买卖股票的最佳时机II , 55. 跳跃游戏 , 45.跳跃游戏II , 1005.K次取反后最大化的数组和

局部最优推出全局最优,找不出反例,试试贪心!如图:i 每次移动只能在 cover 的范围内移动,每移动一个元素,cover 得到该元素数值(新的覆盖范围)的补充,让 i 继续移动下去。而 cover 每次只取 max(该元素数值补充后的范围, cover 本身范围)。如果 cover 大于等于了终点下标,直接 return true 就可以了。

懒羊羊在努力的博客 2196

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

代码随想录算法训练营第二十八天 |122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II、1005.K次取反后最大化的数组和

代码随想录算法训练营第二十八天 |122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II、1005.K次取反后最大化的数组和

2301_81109252的博客 1037

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

代码随想录算法训练营第二十八天

这种方法的原理是:要最大化数组和,应该优先对最小的元素进行取反(尤其是负数),因为这会带来最大的增益。这种方法的时间复杂度是 O (n),其中 n 是股票价格数组的长度,因为只需要遍历一次数组。算法的核心思想是:只要第二天的股价高于当天股价,就进行一次交易(当天买入,第二天卖出),将所有这些正的差价累加起来,就得到了最大利润。这段代码实现了 "K 次取反后最大化的数组和" 的解决方案,采用了优先队列(最小堆)来高效处理。这段代码实现了判断能否到达数组最后一个位置的功能,采用了贪心算法的思想,效率较高。

2403_87481241的博客 1070

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

代码随想录算法训练营第二十八天 | 122.买卖股票的最佳时机II 55.跳跃游戏 45.跳跃游戏II 1005.K次取反后最大化的数组和

假如第 0 天买入,第 3 天卖出,那么利润为:prices[3] - prices[0],相当于(prices[3] - prices[2]) + (prices[2] - prices[1]) + (prices[1] - prices[0])。贪心的思路,局部最优:当前可移动距离尽可能多走,如果还没到终点,步数再加一。局部最优:只找数值最小的正整数进行反转,当前数值和可以达到最大(例如正整数数组{5, 3, 1},反转1 得到-1 比 反转5得到的-5 大多了),全局最优:整个数组和达到最大。

m0_50413530的博客 701

代码随想录算法训练营第二十八天 | 122.买卖股票的最佳时机II | 55. 跳跃游戏 | 45. 跳跃游戏Ⅱ | 1005.K次取反后最大化的数组和

自己实现中遇到哪些困难培养贪心的思考方式如果没有贪心的思考方式(局部最优,全局最优),很容易陷入贪心简单题凭感觉做,贪心难题直接不会做,其实这样就锻炼不了贪心的思考方式了。所以明知道是贪心简单题,也要靠贪心的思考方式来解题,这样对培养解题感觉很有帮助今日收获,记录一下自己的学习时间小总结只收集每天的正利润得到最大利润。局部最优:移动下标每次取最大跳跃覆盖范围,全局最优:整体最大覆盖范围局部最优:当前这步的最大覆盖;全局最优:达到终点,步数最少。局部最优。

Noah_aa的博客 1046

代码随想录算法训练营第二十八天 | 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 1005.K次取反后最大化的数组和

这道题需要一个cur来指向当前覆盖的区域,当cur指向上一次得到的最大区域时,这个时候我们就可以将现在的最大区域赋值给cur,然后res++,因为到达最大区域也就是要走一步,这个最大区域就是之前的元素遍历得到的最大区域。给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。你的目标是使用最少的跳跃次数到达数组的最后一个位置。判断你是否能够到达最后一个位置。

qq_46651958的博客 686

代码随想录算法训练营第二十八天| 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 1005.K次取反后最大化的数组和

122.买卖股票的最佳时机II122.买卖股票的最佳时机II题目:给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。

xiaowutongxue666的博客 1115

代码随想录算法训练营第二十八天| leetcode122.买卖股票的最佳时机 II、leetcode55. 跳跃游戏、leetcode45.跳跃游戏 II、leetcode1005.K次取反后最大化的

思路:自己不知道怎么写出来的一道题目,就觉得理解上面就是找到了方法,但是后面再去想的时候,其实我当时陷入不知道示例2怎么求,但是答案写完再去思考,其实就是逐步累加也是正确的。

angela3264的博客 1134

28.代码随想录算法训练营第二十八天|122. 买卖股票的最佳时机 II,55. 跳跃游戏,45. 跳跃游戏 II,1005. K 次取反后最大化的数组和

贪心

LXY999222的博客 603

代码随想录算法训练营第二十八天|LeetCode 122 买卖股票的最佳时机||、 LeetCode 55 跳跃游戏、跳跃游戏||、1005 K 次取反后最大化的数组和

参考文章均来自代码随想录。

2301_80394862的博客 402

代码随想录算法训练营第二十八天|LC122.买卖股票的最佳时机Ⅱ|LC55.跳跃游戏|LC45.跳跃游戏Ⅱ|LC1005.K次取反后最大化的数组和

思路:一股脑想到选一个最低的买入,再选一个最高的卖出;但是贪心算法,考虑倒最终利润是可以分解的,那么本题就是选一个,再选一个低的买入.....。

weixin_49494409的博客 778

代码随想录算法训练营第二十八天| 贪心2— 55. 跳跃游戏,45. 跳跃游戏 II,1005. K 次取反后最大化的数组和

贪心第二天,。依旧是感觉贪心像是智力题能想的出来就好写,想不出来真就是被绕进去。像是股票Ⅱ,一开始想的必须是必须低点买入直到高点才能卖出,忽略了这个过程中一直不停买卖也是一样的结果,能想清楚这个就会很容易。贪心真是一题一个样,每道题都能多少卡一会,然后看题解的时候就会恍然大悟,质疑自己这么简单的思路为啥刚才想不出来,然后下一道题接着卡,这就是做贪心题。

yuhao__z的博客 441

代码随想录算法训练营第二十八天|122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II、1005.K次取反后最大化的数组和

思考:买卖股票想要利润最大,则每次买卖都是赚钱的,即每一次的利润都是正数。第一天只能买入,不能卖出,因此卖出操作最早在第二天才可以。因此可以从第二天开始,计算相邻两天的利润,把正数的利润求和,就是最大利润。

qq_42493281的博客 449
上一篇: 代码随想录算法训练营第二十七天|LeetCode455.分发饼干、LeetCode376. 摆动序列、LeetCode53. 最大子序和
下一篇: 代码随想录算法训练营第二十九天|LeetCode134. 加油站、LeetCode135. 分发糖果、LeetCode860.柠檬水找零、LeetCode406.根据身高重建队列
hellogarbage
博客等级 码龄6年 145粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值