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

Leetcode刷题. 贪心算法

贪心算法:

        比较传统的解释:将整个问题拆解为几个小问题,找到小问题的最优解,加起来就是整个问题的全局最优解。对于现在的我理解贪心就是一种感觉,给出证明很难,解题思路一般就是认真读题,发掘题目的条件,然后尝试给出算法。

11. 盛最多水的容器

         一个显而易见的条件:水的面积取决于底边的长度和水池两边的最短边,因此可以首先选择最长的底边,然后在此基础上在选较高的水池的一边,在这个过程中计算面积最大值,保存即可。

class Solution {
public:int maxArea(vector<int>& height) {int maxArea = 0;for (int i = 0, j = height.size() - 1; i < j; ) {if (height[i] <= height[j]) {maxArea = max((j - i) * height[i], maxArea);i++;} else {maxArea = max((j - i) * height[j], maxArea);j--;}}return maxArea;}
};

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

        求解思路:累加每天股票变化的增加的部分,比如1和5是涨的,那么最后的结果肯定是涨的,所以需要把该部分累加。

class Solution {
public:int maxProfit(vector<int>& prices) {int profit = 0;for (int i = 0; i < prices.size(); i++) {for (int j = i + 1; j < prices.size() && prices[j] - prices[i] >= 0; j++, i++) {profit += prices[j] - prices[i];}}return profit;}
};

680. 验证回文串 II

        这道题的思路还是比较直观的,就是双指针判断然后处理删除的情况,关键在于怎么处理删除的情况需要重点理解,这里体现了根据局部解推出全局解的思想。

class Solution {
public:bool validPalindrome(string s) {int left = 0, right = s.size() - 1;while (left < right) {if (s[left] != s[right]) {return isPalindrome(s, left + 1, right) || isPalindrome(s, left, right - 1);}left++;right--;}return true;}bool isPalindrome(const string& s, int left, int right) {while (left < right) {if (s[left] != s[right]) {return false;}left++;right--;}return true; }
};

相关文章:

Leetcode刷题. 贪心算法

贪心算法&#xff1a; 比较传统的解释&#xff1a;将整个问题拆解为几个小问题&#xff0c;找到小问题的最优解&#xff0c;加起来就是整个问题的全局最优解。对于现在的我理解贪心就是一种感觉&#xff0c;给出证明很难&#xff0c;解题思路一般就是认真读题&#xff0c;发掘题…...

强化学习的数学原理-01基本概念

state: T h e s t a t u s o f a g e n t w i t h r e s p e c t t o t h e e n v i r o n m e n t The \quad status \quad of \quad agent \quad with \quad respect \quad to \quad the \quad environment Thestatusofagentwithrespecttotheenvironment (agent 相对于环境的…...

D41【python 接口自动化学习】- python基础之函数

day41 函数参数传递错误 学习日期&#xff1a;20241018 学习目标&#xff1a;函数&#xfe63;-54 避坑指南&#xff1a;列表作为参数传递出错了怎么办&#xff1f; 学习笔记&#xff1a; 列表类型的特殊性 list1[x,y,z] tuple1(list1,b,c)# 修改元组中的列表&#xff0c;会…...

思迅商云8修改最大找零金额

执行如下语句前请备份数据库 -POS收银找零金额最大数 --把下面SQL中的 1000.00 改成你想要的金额数&#xff0c;再到查询分析器中执行&#xff1a; --总店 use hbposv8 go insert t_sys_system (sys_var_id, sys_var_value, sys_var_name) values (pos_max_givchg, 1000.00, 最…...

Lumerical学习——分析工具(Analysis tools)

一、分析工具和模拟环境&#xff08;Analysis tools and the simulation environment&#xff09; 模拟计算完成后&#xff0c;模拟计算数据紧接着写到模拟工程文件中&#xff1b;甚至当模拟计算提前结束时计算得到的部分数据集也会写到文件中。当模拟完成后单击退出按钮、或者…...

思迅商云8会员积分全部清0

请您备份数据库后执行以下语句&#xff1a; declare card_id varchar(20), acc_num numeric(16,4), dec_num numeric(16,4), minus_num numeric(16,4), branch_no varchar(4), count int select branch_nosys_var_value fro…...

$nextTick原理

一、什么是 $nextTick $nextTick 是 Vue 实例上的一个方法&#xff0c;允许我们在下次 DOM 更新循环结束后执行一个回调。这通常用于需要访问更新后的 DOM状态的场景。由于 Vue 在数据变化后并不会立即更新 DOM&#xff0c;而是进行异步批处理&#xff0c;使用 $nextTick可以保…...

python办公:批量PDF合并—通用版

目录 专栏导读1、库的介绍2、库的安装3、核心代码3、提供测试PDF生成代码5、完整代码进阶版总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️‍&#x1f308; 博客主页&#xff1a;请点击——> 一…...

人工智能研究创造出新型蛋白质

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

blender 金币基站 建模 学习笔记

一、学习blender视频教程链接 案例3&#xff1a;金币基站_建模_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Bt4y1E7qn?vd_sourced0ea58f1127eed138a4ba5421c577eb1&p12&spm_id_from333.788.videopod.episodes 二、金币基站建模过程 &#xff08;1&#x…...

eggjs sequelize egg-sequelize-auto自动从零生成一个数据表 自动创建model

sequelize egg-sequelize-auto整个过程还是有一些坑 包括兼容性问题 依赖安装问题 需要注意 缺少一个条件 包跑不起来 或使用体验很差 1. 全局安装插件 pnpm install -g sequelize-cli sequelize mysql2 egg-sequelize-auto 2. 执行命令创建 migrate迁移文件 以及 mod…...

解决低版本pytorch和onnx组合时torch.atan2()不被onnx支持的问题

解决这个问题&#xff0c;最简单的当然是升级pytorch和onnx到比较高的版本&#xff0c;例如有人验证过的组合: pytorch2.1.1cu118, onnxruntime1.16.3 但是因为你的模型或cuda环境等约束&#xff0c;不能安装这么高的版本的pytorch和onnx组合时(例如我的环境是pytorch1.12&…...

javaWeb项目-ssm+jsp房屋出租管理系统功能介绍

本项目源码&#xff08;点击下方链接下载&#xff09;&#xff1a;java-ssmjsp房屋出租管理系统实现源码(项目源码-说明文档)资源-CSDN文库 项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff…...

【R语言】gadm全球行政区划数据库

我R语言不熟、也不是学GIS的。仅用于记录。 文章目录 一、gadm 数据库简介二、R 语言示例三、sf 包的函数 一、gadm 数据库简介 GADM&#xff08;全称Database of Global Administrative Areas&#xff09;是一个高精度的全球行政区划数据库&#xff0c;它包含了全球所有国家和…...

3万字66道Java基础面试题总结(2024版本)

本文合计三万字&#xff0c;整合了66道当前Java面试中比较热门的面试题&#xff0c;希望对大家有所帮助。 文章目录 一、Java概念1. JDK和JRE和JVM的区别2. Java语言有哪些特点3. 什么是字节码&#xff1f;采用字节码的最大好处是什么&#xff1f;4. Oracle JDK 和 OpenJDK 的对…...

go 环境安装

最近搭建AIGC大模型聚合平台&#xff0c;涉及到了go语言&#xff0c;随手整理一下环境安装步骤分享给大家。 1、安装 官网下载地址&#xff1a;https://go.dev/ 1.1 Linux 安装 yum install git -y yum install golang -y yum install gcc -y # 日志工具&#xff0c;如需要…...

stereo-seq 细胞、捕获到的分子及其特征的统计描述

Cell Count、Mean/Median Cell Area、Mean/Median DNB Count、Mean/Median Gene Type、Mean/Median MID 这些术语与空间转录组学和单细胞测序等技术中的细胞和基因表达数据分析有关。每个指标都是对细胞、捕获到的分子及其特征的统计描述。以下是每个术语的详细解释: 1. Cell…...

ceph rook-ceph 部署 cephobjectstore 失败

版本信息 helm list WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /Users/zld/kubeconfigs/gir.yaml WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /Users/zld/kubeconfigs/gir.yaml …...

1791. 找出星型图的中心节点

有一个无向的 星型 图&#xff0c;由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点&#xff0c;并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。 给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你…...

微调小型Llama 3.2(十亿参数)模型取代GPT-4o

微调Llama VS GPT-4o 别忘了关注作者&#xff0c;关注后您会变得更聪明&#xff0c;不关注就只能靠颜值了 ^_^。 一位年轻的儿科医生与一位经验丰富的医师&#xff0c;谁更能有效治疗婴儿的咳嗽&#xff1f; 两者都具备治疗咳嗽的能力&#xff0c;但儿科医生由于专攻儿童医学…...

【JavaEE】【IO】文件操作

目录 一、文件1.1 文件的概念1.2 文件的操作1.3 路径1.4 文件分类 二、Java中的文件元信息、路径操作2.1 属性2.2 构造方法2.3 方法2.3.1 文件路径2.3.2 文件判断2.3.3 文件创建删除2.3.4 其他操作 三、文件读写操作3.1 流&#xff08;Stream&#xff09;3.1.1 字节流3.1.1.1 I…...

commonjs和esmodule的导入导出细节

CommonJS和ES Module是JavaScript中两种不同的模块系统&#xff0c;它们在导入导出细节上存在差异&#xff0c;以下是两者的具体对比以及方便区分记忆的方法&#xff1a; 1. 导入导出细节 CommonJS 导出&#xff1a;使用module.exports或exports对象来导出模块中的变量、函数…...

【热门】用ChatGPT做智慧农业云平台——农业ERP管控系统

随着科技的进步,原有农业种植方式已经不能满足社会发展的需要,必须对传统的农业进行技术更新和改造。经过多年的实践,人们总结出一种新的种植方法——温室农业,即“用人工设施控制环境因素,使作物获得最适宜的生长条件,从而延长生产季节,获得最佳的产出”。这种农业生产方式…...

Android从上帝视角来看PackageManagerService

戳蓝字“牛晓伟”关注我哦&#xff01; 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章&#xff0c;技术文章也可以有温度。 前言 阅读该篇之前&#xff0c;建议先阅读下面的系列文章&#xff1a; Android深入理解包管理–PackageManagerService和它的“小伙伴…...

阵列式位移计与传统测斜仪相比的优势

在岩土工程监测领域&#xff0c;位移测量是确保工程质量和安全的重要环节。传统的测斜仪&#xff0c;如活水平固定测斜仪和固定式测斜仪&#xff0c;尽管在一定程度上满足了工程监测的需求&#xff0c;但某些方面限制了其应用范围。随着阵列式位移计这种新型的传感器的出现&…...

第7章 网络请求和状态管理

一、Axios 1 Axios概述 Axios是一个基于Promise的HTTP库&#xff0c;可以发送get、post等请求&#xff0c;它作用于浏览器和Node.js中。当运行在浏览器时&#xff0c;使用XMLHttpRequest接口发送请求&#xff1b;当运行在Node.js时&#xff0c;使用HTTP对象发送请求。 Axios的…...

苍穹外卖学习笔记(二十七)

客户催单 OrderController /*** 催单*/GetMapping("/reminder/{id}")ApiOperation("催单")public Result reminder(PathVariable("id") Long id) {orderService.reminder(id);return Result.success();}OrderServer /*** 催单*/void reminder(L…...

使用exe4j打包jar包生成exe文件,GUI应用详细使用教程

使用exe4j打包jar包生成exe文件,GUI应用详细使用教程 exe4j应用教程使用方式搞副业 exe4j应用教程 《exe4j 下载地址》 exe4j是一个功能强大的多平台 Java 安装程序生成器&#xff0c;它可以为 Java 应用程序生成本机安装程序和应用程序启动器。exe4j 的优点在于它的易用性、广…...

go jwt 用户登录和返回用户信息 token ----important!!!

1.每一行代码都有详细注释&#xff0c;解释了其功能和作用。这些注释可以帮助你理解代码如何工作&#xff0c;特别是在处理用户登录、生成 JWT、验证 JWT 和返回用户信息的过程中。 package main // 指定这个文件是一个可执行程序import ("fmt" …...

OpenCV高级图形用户界面(12)用于更改指定窗口的大小函数resizeWindow()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::resizeWindow() 函数用于更改指定窗口的大小。这使得你可以根据需要调整窗口的宽度和高度。 注释 指定的窗口大小是指图像区域的大小。工具栏…...