【贪心算法】day4

【贪心算法】day4

📝前言说明:

  • 本专栏主要记录本人的贪心算法学习以及LeetCode刷题记录,按专题划分
  • 每题主要记录:(1)本人解法 + 本人屎山代码;(2)优质解法 + 优质代码;(3)精益求精,更好的解法和独特的思想(如果有的话);(4)贪心策略正确性的 “证明”
  • 文章中的理解仅为个人理解。如有错误,感谢纠错
🎬个人简介:努力学习ing
📋本专栏:C++刷题专栏
📋其他专栏:C语言入门基础python入门基础C++学习笔记Linux
🎀ZEEKLOG主页 愚润泽

你可以点击下方链接,进行其他贪心算法题目的学习

点击链接开始学习
贪心day1贪心day2
贪心day3贪心day4
贪心day5贪心day6
贪心day7贪心day8
贪心day9贪心day10

也可以点击下面连接,学习其他算法

点击链接开始学习
优选专题动态规划
递归、搜索与回溯贪心算法

题单获取【贪心算法】题单汇总

题目


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

题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/

在这里插入图片描述

个人解

思路:

  • 拆分成一天一天进行无限次交易
    • 后一天比当前股票便宜就重新买入,比当前股票贵就直接卖出 (贪心策略)
  • 细节: 因为可能出现连续递增,所以在卖出后,直接将当天价格作为买入的价格继续贪心
  • 其他解法:也可以用一个双指针去找每个上升区间的开始和结束位置,然后添加利润

屎山代码:

classSolution{public:intmaxProfit(vector<int>& prices){int PreMIN = INT_MAX;int ans =0;for(auto x: prices){if(x <= PreMIN) PreMIN = x;else{ ans += x - PreMIN; PreMIN = x;// 代表未买入状态,同时避免连续递增的股票}}return ans;}};

时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( 1 ) O(1) O(1)


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

题目链接:https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/description/

在这里插入图片描述

个人解

思路:

  • 有点数学题的感觉
    • 先将数组排序
    • 贪心策略:
      1. 从小到大,现将负数取反
      2. 如果没有负数了, 则 k % 2 。(如果结果为 1 ,则将绝对值最小的数取反)

屎山代码:

classSolution{public:intlargestSumAfterKNegations(vector<int>& nums,int k){ ranges::sort(nums);int sum =0;int Min = INT_MAX;for(auto num: nums){ Min =min(Min,abs(num));if(num <0&& k >0){ sum -= num; k--;}else sum += num;}if(k %2)// 如果还有取反次数,则剩下的一定为非负数了 sum -=2* Min;// 把之前加上的减掉return sum;}};

时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)
空间复杂度: O ( 1 ) O(1) O(1)


2418. 按身高排序

题目链接:https://leetcode.cn/problems/sort-the-people/description/

个人解

屎山代码:

classSolution{public: vector<string>sortPeople(vector<string>& names, vector<int>& heights){int n = names.size(); vector<pair<int,int>> hash;// <身高, 下标>, 存在vector中,便于后续排序for(int i =0; i < n; i++) hash.emplace_back(heights[i], i); ranges::sort(hash.begin(), hash.end(),[](constauto& a,constauto& b){return a.first > b.first;// 大的优先级高}); vector<string> ans;for(auto[h, index]: hash) ans.emplace_back(names[index]);return ans;}};

时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)
空间复杂度: O ( n ) O(n) O(n)


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

Read more

TRAE vs Qoder vs Cursor vs GitHub Copilot:谁才是真正的“AI 工程师”?

引言:工具选择 = 成本 + 效率 + 风险 的综合权衡 2026 年,AI 编程工具已从“玩具”走向“生产主力”。但面对 TRAE、Qoder、Cursor、GitHub Copilot 等选项,开发者不仅要问: * 它能写 Rust 吗?支持中文需求吗? * 更要问:一个月多少钱?团队用得起吗?代码安全有保障吗? 本文将从 五大核心维度 深度剖析四大主流 AI IDE: 1. 核心理念与自主性 2. 多语言与跨生态支持能力 3. 工程化与交付闭环能力 4. 中文本地化与业务适配 5. 收费模式、定价策略与企业成本 帮你做出技术可行、经济合理、风险可控的决策。 一、核心理念:

By Ne0inhk
AI编程工具对比:Cursor、GitHub Copilot与Claude Code

AI编程工具对比:Cursor、GitHub Copilot与Claude Code

文章目录 * AI编程工具对比:Cursor、GitHub Copilot与Claude Code * 一、产品定位与核心架构 * 1.1 Cursor:AI原生IDE的代表 * 1.2 GitHub Copilot:代码补全的行业标杆 * 1.3 Claude Code:终端Agent的革新者 * 二、核心功能深度对比 * 2.1 代码生成与理解能力 * 2.2 自动化与工作流集成 * 2.3 隐私与数据安全 * 三、成本效益分析 * 3.1 定价模式对比 * 3.2 投资回报比 * 四、适用场景与用户画像 * 4.1 最佳应用场景 * 4.2 用户反馈摘要 * 五、

By Ne0inhk
【AIGC文生图】通义万相2.1应用拓展与蓝耘云平台实践

【AIGC文生图】通义万相2.1应用拓展与蓝耘云平台实践

探索调参之道:通义万相2.1应用拓展与平台调优实践 近年来,随着生成模型不断迭代升级,通义万相在图像生成领域的表现愈发引人瞩目。相比于基础的文生图使用,如何在平台应用拓展和参数调优上发掘更大潜力,已成为众多开发者与工程师关注的热点。本文将从实际应用案例出发,分享一些调参心得与平台优化策略,并着重探讨蓝耘GPU平台在这方面的独特优势,力求帮助读者快速上手并走上创新之路。 一、通义万相2.1来临 前几日,通义官方发布了万相最新文生图模型2.1。 通义万相2.1在模型底层和交互体验上都有显著升级,具体来说: * 模型参数与语义理解升级 新版本参数规模已经突破千亿级别,使得对输入文本的语义捕捉更为精准,能更好地理解复杂描述,生成的图像在细节和质感上都有明显提升。与此同时,内置的智能改写功能可以自动优化用户输入,使得图像风格和表现更符合预期。 * 生成速度与细节表现的提升 得益于优化的算法和模型架构,生成速度大幅加快,尤其在高分辨率(最高支持200万像素)输出时,依然能保持流畅高效。同时,细节表现力增强后,无论是人物表情、光影效果还是场景布置,都能呈现得更加生动自

By Ne0inhk

5分钟部署Whisper语音识别:多语言大模型一键启动Web服务

5分钟部署Whisper语音识别:多语言大模型一键启动Web服务 1. 引言:让语音识别变得像上传文件一样简单 你有没有遇到过这样的场景?一段会议录音需要整理成文字,但手动听写耗时又容易出错;或者收到一段外语视频,想快速了解内容却找不到翻译工具。现在,这些问题都可以通过一个简单的Web服务解决——基于OpenAI Whisper large-v3的多语言语音识别系统。 这款由113小贝二次开发构建的镜像,将复杂的模型部署过程简化为“一键启动”。无需配置环境、不用手动下载模型,甚至连FFmpeg这种底层依赖都已经预装好了。只要你的设备有一块性能不错的GPU(比如RTX 4090),5分钟内就能搭建起一个支持99种语言自动检测与转录的语音识别服务。 本文将带你从零开始,完整走一遍部署流程,并深入讲解这个模型能做什么、怎么用得更好,以及常见问题如何应对。无论你是AI新手还是有一定经验的开发者,都能快速上手并用起来。 2. 快速部署:三步启动你的语音识别服务 2.1 部署前准备:确认硬件和系统要求 在开始之前,请先检查你的运行环境是否满足最低要求: 资源推荐配置GPUN

By Ne0inhk