[学习报告]《LeetCode零基础指南》(第六讲) 贪心

《LeetCode零基础指南》(第六讲) 贪心 贪心,如何证明?是个问题 阅读详情

千山万水总有路,勇敢迈出第一步!!!前路很难,路已过半,何言弃,言何弃
>> 算法的魅力,在于即使,知识你门清,题目给你一闷棍。
<< 有形的代码,被无形算法来回拉扯,翻滚吧,我的脑浆。

今日套餐【4 橙 5 绿 】。休息很重要,昨天 1点30 睡觉,早上 6点30 醒,困倦 + 暴躁呀 ~ 
绿题 1827 一次过,代码好优雅。橙题 945 想了一下,觉得肤浅了,肯定不会~ 晚上在群里,大家一点拨,一气呵成 + 注释 + 通过 🤦‍🤦‍🤦‍ 

一、吹逼 反省

今日学习内容:https://bbs.youkuaiyun.com/topics/605702199

脑子是个好东西,我有,我得好好用 ~
又是 排序 + 双指针 得一天呀。 

今日最 “牛”,611. 有效三角形的个数 👈 算你狠

双指针,核心理念:左右指针,相向而行,相遇即终止 👇

二、晒战绩

话不多说,上图~ 👆 

三、写解题报告

题解报告,只写让我有 

 的那道题!
>> 算法的魅力,在于即使,知识你门清,题目给你一闷棍。
<< 有形的代码,被无形算法来回拉扯,翻滚吧,我的脑浆。

上点,让我彻夜难眠的 👇

1913. 两个数对之间的最大乘积差:题目意图 → 上个,两行的,找找自信

class Solution {
public:
    int maxProductDifference(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        return nums[nums.size()-1]*nums[nums.size()-2]-nums[0]*nums[1];
    }
};

945. 使数组唯一的最小增量:题目意图 → 上个,感觉不会,其实我会的

class Solution {
public:
    int minIncrementForUnique(vector<int>& nums) {
        int ans = 0;
        sort(begin(nums), end(nums));

        for(int i=1; i<nums.size(); i++) {
            // 排序后每一项满足的是:nums[0] <=... nums[i-1] <= nums[i] <= ... nums[N-1]
            // 遍历时为保证递增,元素值会变大,可能导致 nums[i-1] > nums[i]
            if(nums[i] <= nums[i-1]) {  // 若 当前元素小于等于 前一项,修正为大于前一项
                // 最小的增量要保证当前元素比前一项大 1,即 差值 + 1
                int dis = nums[i-1] - nums[i] + 1;
                // 更新当前元素值 和 ans
                nums[i] += dis;
                ans += dis;
            }
        } 
        return ans;
    }
};

324. 摆动排序 II:题目意图 →  上个,你以为是排序,其实还可以这样的

class Solution {
public:
    void wiggleSort(vector<int>& nums) {
        
        int N = nums.size();
        if(N==1) return;
        sort(begin(nums), end(nums));

        vector<int> ret(nums);  // 将 nums 深拷贝到 ret 中
        
        int r = N-1;
        // 先插奇数位,再插偶数位。请拿笔 画一下 👇
        for(int i = 1; i < N; i+=2) nums[i] = ret[r--];
        for(int i = 0; i < N; i+=2) nums[i] = ret[r--];
    }
};

611. 有效三角形的个数:题目意图 →  上个,让我迷路彷徨的,证明我肯定行的

class Solution {
public:
    int triangleNumber(vector<int>& nums) {
        int n = nums.size();
        if(n<3) return 0;   // 构不成三角形
        
        int ans = 0;
        sort(nums.begin(), nums.end());
        for (int i = 0; i < n; i++) {
            // 双指针扫描,j ... k 之间,有多少满足
            int k = i;
            for (int j = i + 1; j < n; j++) {
                while (k + 1 < n && nums[k + 1] < nums[i] + nums[j]) {
                    k++;
                }
                ans += max(k - j, 0);
            }
        }
        return ans;
    }
};

四、写给明天

多美美好的一天呀~~ 喜刷刷,喜刷刷 😀😀😀 喜刷刷 刷刷~ 😀😀😀 ~ 

疫情来了,我要被包围了,还好,我有算法和你们 ~  谁说不是呢

《LeetCode零基础指南》(第十一讲) 遇到不会的题怎么办? 遇到不会的题千万不要放弃,要找方法突破 阅读详情

相关推荐

《LeetCode零基础指南》(第十讲) 力扣常见报错集锦

常见错误集锦 和 排查手段

英雄哪里出来 2652

5,计数法

1748. 唯一元素的和 给你一个整数数组nums。数组中唯一元素是那些只出现恰好一次的元素。 请你返回 nums中唯一元素的 和 int firstUniqChar(char * s){ int ret[26]={0}; int n=strlen(s); for(int i=0;i<n;i++){ ++ret[(s[i]-'a')]; } for(int i=0;i<n;i++){ if(ret[(...

m0_62186690的博客 394

ChatGPT Plus完整开通指南:从账号注册到稳定使用全流程

自然语言处理(NLP)技术通过深度学习模型实现对人类语言的理解与生成,其核心原理是基于Transformer架构的大规模预训练。GPT-4作为当前最先进的生成式AI模型,在代码编写、文档分析等场景展现出显著的技术价值。在实际应用中,稳定的网络环境和合规的支付方式是确保AI助手持续服务的关键因素。针对ChatGPT Plus的开通,需要系统性地解决账号验证、虚拟信用卡支付等工程实践问题,才能实现工作流的高效整合。

weixin_34239592的博客 428

[学习报告]《LeetCode零基础指南》(第六讲)贪心

文章目录一,贪心问题分析二,做题记录:1.1913. 两个数对之间的最大乘积差2.976. 三角形的最大周长3.数组拆分Ⅰ4.救生艇5.324. 摆动排序 II6.455.分发饼干7.1827. 最少操作使数组递增8.945. 使数组唯一的最小增量9.611. 有效三角形的个数 一,贪心问题分析 贪心算法可以说是用刷题量来堆出来的,在使用它的时候我们往往不会给出严格的数学证明,甚至使用这个算法的本人也不知道为什么会这样去处理,所以贪心算法主要还是要靠我们平时见到过足够多的题来去积累尽量多的算法套路 二,

m0_67739923的博客 936

高频面波成像实战:从频散曲线到全波形反演

面波勘探是近地表工程勘察的重要手段,其核心原理在于不同频率的面波对地下介质的敏感深度不同,由此形成的频散曲线能够反映浅层剪切波速结构。相较于传统钻探与折射波法,高频面波成像具有无损、高效、对低速夹层敏感等优势,广泛应用于路基检测、空洞探测、滑坡调查等领域。在实际工程中,从野外采集的排列设计、震源选型,到频散谱提取与频散曲线反演,每一步都直接影响成像精度。然而频散反演受限于一维层状假设,难以刻画横向剧烈变化的地质体。全波形反演通过拟合完整波形信息,能够突破频散曲线的分辨率边界,获得更精细的近地表速度模型。本文

weixin_29090917的博客 270

基因组注释(Annotation)

Annotation

hgz2020的博客 6495

【学习报告】《LeetCode零基础指南》(第六讲) 贪心

《九日集训》第六天,过啦!

m0_54789378的博客 407

使用podspec创建iOS插件

概述 在WWDC 2014全球开发者大会上,苹果开放了动态库、App Extension等全新的功能,这为iOS插件化开发带来了可能。在iOS开发中,动态库是iOS提供的一种资源打包方式,可以将代码文件、头文件、资源文件和说明文档等集中在一起,并且可以在运行时进行动态加载。 目前,很多应用越做越复杂,应用程序也显得越来越臃肿。试想一下,如果将一些不常用的功能做成一个插件,然后根据用户的需求从网络中...

xiangzhihong8的专栏 992

【学习报告】《LeetCode零基础指南》(第六讲)贪心

贪心

Disco’s Blog 103

使用 MATLAB/Simulink + Simscape Electrical + SimPowerSystems + Stateflow,构建一个多能互补微电网系统的动态响应仿真模型

本文详细介绍了使用MATLAB/Simulink构建多能互补微电网动态响应仿真模型的方法。文章从系统架构设计入手,包含光伏、风电、柴油发电机、锂电池储能等多种组件,重点讲解了建模过程、控制策略(下垂控制、PLL、SOC管理)和模式切换逻辑(Stateflow)。通过四种典型场景(负荷突增、光伏出力骤降、并网/孤岛切换、电动机启动)的仿真分析,验证了微电网在动态响应中的关键性能指标,并提出了高可靠性设计建议。该模型为微电网的稳定性分析和优化设计提供了有效工具,特别强调了储能系统在快速功率支撑中的重要作用。

amy_mhd的博客 160

ZYNQ USB按键读写操作详解:从裸机到Linux系统的完整实现

USB接口在现代嵌入式系统中扮演着至关重要的角色,而按键作为最基础的人机交互设备,其与USB的结合能够实现丰富的应用场景。这种实现不仅适用于简单的键盘应用,还可以扩展为游戏控制器、专业输入设备或工业控制面板,展现了ZYNQ在嵌入式USB应用中的强大灵活性。:USB控制器需要准确的时钟源,通常使用外部33MHz晶振,并在Vivado中正确配置。结合ZYNQ的PL(可编程逻辑)和PS(处理系统)优势,可以创建创新的USB按键应用。本文详细介绍了在ZYNQ平台上实现USB按键读写的完整方案,涵盖了从。

QQ_778132974的博客 378

【解题报告】《LeetCode零基础指南》(第七讲) 贪心

☘前言☘ 今天是九日集训第六天,我会记录一下学习内容和题解,争当课代表0.0. 链接:《LeetCode零基础指南》(第七讲) 贪心 ????????作者简介:一个从工业设计改行学嵌入式的年轻人 ✨联系方式:2201891280(QQ) ⏳全文大约阅读时间: 20min 全文目录☘前言☘????主要知识点梳理????1.贪心算法????课后习题1913. 两个数对之间的最大乘积差976. 三角形的最大周长561. 数组拆分 I881. 救生艇324. 摆动排序 II455. 分发饼干1827. 最少操

XingleiGao的博客 827

ZYNQ工业级串口方案:AXI UART 16550扩展RS-485实战(自动方向控制+Linux驱动)

可以轻松扩展出多路工业级串口。但常规方案需要手动控制收发方向(DE/RE引脚),存在实时性差、CPU占用高等痛点。本文从硬件逻辑设计到Linux驱动开发,完整实现了ZYNQ平台的RS-485工业通信方案。,解决了传统方案实时性差的痛点。所有代码均经过实际项目验证,可直接用于生产环境。:尝试将此设计扩展为多协议兼容接口(支持RS-422/RS-232切换)!等特性,依然是现场总线通信的首选。,通过硬件逻辑+Linux驱动协同设计,实现零延迟切换。在工业自动化、能源电力等场景中,RS-485凭借。

QQ_778132974的博客 830

算法如何学习?别想太多,两个字

推荐阅读

英雄哪里出来 1万+

RAGFlow体验大提升:使用GPU加速

场景:在正常部署过程中,启动RAGFlow会用到docker-compose.yml文件来启动。但是在实际使用过程中,会发现RAGFlow极其的卡和笨重,给一一种很不好的用户体验,有没有一种可以让RAGFlow加速的呢?进入RAGFlow的docker目录下会有发现有很多docker的配置文件。方法一:选择docker-compose-gpu.yml这个来启动项目。两个方法选其一 ,就会让你的RAGFlow的使用起来非常的丝滑!方法二:在docker-compose.yml末尾加上。

Ven%的博客 3156

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

《LeetCode零基础指南》九日集训题解汇总

我汇总了我这九天发的集训题解,欢迎大家交流讨论

夜阑听雨的博客 5657

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

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

[学习报告]《LeetCode零基础指南》(第六讲) C排序API

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】[外链图片转存中…(img-Ji7bLcms-1714400492749)][外链图片转存中…(img-AiihQsmZ-1714400492750)][外链图片转存中…(img-bcbuTozR-1714400492751)][外链图片转存中…(img-35dOtAXj-1714400492751)]

2401_84447362的博客 694

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

2024年最新[学习报告]《LeetCode零基础指南》(第六讲) C排序API,面试文件

资料过多,篇幅有限开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。[外链图片转存中…(img-CiOwSMCv-1715717945120)]资料过多,篇幅有限开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

2401_84617533的博客 807

《算法和数据结构》LeetCode 篇

面试中所有需要用到的算法都在这里了!

英雄哪里出来 1万+
上一篇: [学习报告]《LeetCode零基础指南》(第五讲) 排序
下一篇: 【LeetCode】题解 - nSumTarget 问题
老坛算粉
博客等级 码龄12年 708粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛算粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值