【leetcode题解C++】455.分发饼干 and 376.摆动序列

455. 分发饼干

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。

对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。

示例 1:

输入: g = [1,2,3], s = [1,1]
输出: 1
解释: 
你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。
虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。
所以你应该输出1。

示例 2:

输入: g = [1,2], s = [1,2,3]
输出: 2
解释: 
你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。
你拥有的饼干数量和尺寸都足以让所有孩子满足。
所以你应该输出2.

思路:“局部最优-->全局最优”,首先尝试用最大的饼干满足胃口最大的孩子,sort了之后,两个数组从后向前比较大小。

代码实现:

class Solution {int findContentChildren(vector<int>& g, vector<int>& s) {int ret = 0;int i = g.size() - 1;int j = s.size() - 1;sort(g.begin(), g.end());sort(s.begin(), s.end());for(;i >= 0; --i) {if(j >= 0 && s[i] >= g[i]) {++ret;--j;}}return ret;}
};

376. 摆动序列

如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。

  • 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。

  • 相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。

子序列 可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。

给你一个整数数组 nums ,返回 nums 中作为 摆动序列 的 最长子序列的长度 。

示例 1:

输入:nums = [1,7,4,9,2,5]
输出:6
解释:整个序列均为摆动序列,各元素之间的差值为 (6, -3, 5, -7, 3) 。

示例 2:

输入:nums = [1,17,5,10,13,15,10,5,16,8]
输出:7
解释:这个序列包含几个长度为 7 摆动序列。
其中一个是 [1, 17, 10, 13, 10, 16, 8] ,各元素之间的差值为 (16, -7, 3, -3, 6, -8) 。

示例 3:

输入:nums = [1,2,3,4,5,6,7,8,9]
输出:2

思路:在此处,题目说可以移除元素,但移除后仍然需要保持原来元素在数组中的顺序。考虑到通过两个数的差,来判断是否可以算作一个符合条件的结点。

代码实现:

class Solution {int wiggleMaxLength(vector<int>& nums) {if (nums.size() <= 1) return nums.size();int ret = 1;int diff = 0;int prediff = 0;for(int i = 0; i < nums.size() - 1; ++i) {diff = nums[i + 1] - nums[i];if((diff > 0 && prediff <= 0) || (diff < 0 && prediff >= 0)) {++ret;prediff = diff;}}return ret;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/686980.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024开工记

从樊登的 《轻创业》到《纳尔瓦宝典》&#xff0c;到《如何找到想做的事》。2024 这个春节&#xff0c;心里总感觉有些焦虑&#xff0c;有些不知所措的迷茫。 有点像 2019 年从深圳来到杭州的那段时间。面对工作&#xff0c;面对未来有点不知所措&#xff0c;不知道要做什么&a…

【刷题1】LeetCode 131. 分割回文串 java题解

2024: 刚开始做leetcode hot100&#xff0c;查阅自己以前写的题解专栏&#xff0c;发现没有这一题&#xff0c;于是加上。可能leetcode100更新了吧。我看现在leetcode100官网的题目已经是分好类的了&#xff0c;以前我的题解帖子是自己手动分类整理的。 class Solution {List&…

代码随想录|day 18

Day 18 哎&#xff0c;日子越来越近了&#xff0c;干什么都干不下去&#xff0c;但又必须要坚持。前途渺茫… 一、理论学习 1)自己误打误撞的时候&#xff0c;学习函数 int partitionmax_element(nums.begin(),nums.end())-nums.begin();也记录一下我的错误做法&#xff0c…

【Anaconda】conda创建、删除、查看虚拟环境,安装pytorch

1.删除环境 首先退出现有的环境 conda deactivate然后查看要删除的环境名称与路径 conda env list接下来就可以删除环境了 有两种方法 方法1&#xff1a; conda env remove -p 要删除的虚拟环境路径对我来说就是&#xff1a; conda env remove -p D:\Anaconda3\envs\MVDet…

【Unity】【VR开发】针对VR项目的优化版Unity Build Settings

【背景】 编辑器中做了功能后,打包后却总会画面不满意,所以到处学习,总结成本篇,希望有用。 【准备】 本篇总结基于Unity 2021 LTS。 模板选择3D(URP) 如果URP不支持所用的部分Assets,那么也可以选择Built-in管线,不过URP肯定画面效果上要胜过Built-in。 HDRP不适用…

智能摄像头prv文件恢复案例

家用智能摄像头一般采用的是mp4或者mov视频方案&#xff0c;常见的是mp4&#xff0c;对于部分有开发能力的厂商可能会采用自定义方案&#xff08;如360的bin文件&#xff09;,今天我们来看一个小厂的PRV自定义文件的恢复案例。 故障存储: 32G TF卡/fat32/ 簇&#xff08;块)大…

没钱、没资源、没团队、没商业模式,该怎么创业成功?

很多人为什么要去创业呢&#xff1f;大多还是万般无奈去创业的。如果人人都有王思聪的条件&#xff0c;天台你享受岂不是最好&#xff1f;谁还愿意苦哈哈创业呢&#xff1f; 对于很多创业者而言&#xff0c;创业初期就是会面对没钱、没资源、没团队、没商业模式的窘境&#xff…

[python][whl]GDAL的python的whl文件下载地址

以下为GDAL所有windows x64版本的whl文件&#xff0c;其中命令规则为&#xff1a;以GDAL-3.4.3-cp38-cp38-win_amd64.whl为例子 GDAL&#xff1a;为模块名称 3.4.3&#xff1a;为GDAL版本号 cp38&#xff1a;表示支持python3.8版本&#xff0c;其他版本不支持 win_amd64&am…

vmware-17虚拟机安装教程及版本密钥(保姆级,包含图文讲解,不需注册账户)

文章目录 vmware安装教程一、下载vmware二、安装三、破解密匙 vmware安装教程 一、下载vmware 1.进入VMware官网&#xff1a;https://www.vmware.com/sg/products/workstation-pro.html 2.向下翻找到&#xff0c;如下界面并点击“现在安装” 3.稍事等待以下直到出现以下界面…

004 - Hugo, 分类

004 - Hugo, 分类content文件夹 004 - Hugo, 分类 content文件夹 ├─.obsidian ├─categories │ ├─Python │ └─Test ├─page │ ├─about │ ├─archives │ ├─links │ └─search └─post├─chinese-test├─emoji-support├─Git教程├─Hugo分类├─…

基于飞腾ARM+FPGA国产化计算模块联合解决方案

联合解决方案概述 随着特殊领域电子信息系统对自主创新需求的日益提升&#xff0c;需不断开展国产抗恶劣环境计算整机及模块产 品的研制和升级。特殊领域电子信息系统的自主创新&#xff0c;是指依靠自身技术手段和安全机制&#xff0c;实现信息系统从硬 件到软件的自主研发…

Linux系统——拓展LVM逻辑卷分区与磁盘配额

一、LVM逻辑卷分区 1.检测并确认新硬盘 1.1fdisk 查看或管理硬盘分区 fdisk -l&#xff08;小写的L&#xff09; &#xff08;硬盘设备&#xff09; 或 fdisk 硬盘设备 1.2实际操作 1.2.1fdisk查询结果详解 Device&#xff1a;分区的设备文件名称Boot&#xff1a;是否…

鸿蒙OS跨进程IPC与RPC通信

一、IPC与RPC通信概述 基本概念 IPC&#xff08;Inter-Process Communication&#xff09;与RPC&#xff08;Remote Procedure Call&#xff09;用于实现跨进程通信&#xff0c;不同的是前者使用Binder驱动&#xff0c;用于设备内的跨进程通信&#xff0c;后者使用软总线驱动…

Texas Instruments Websites

Texas Instruments Websites References Texas Instruments https://www.ti.com/ TI E2E Community https://e2e.ti.com/ TI E2E™ 中文设计支持论坛 https://e2echina.ti.com/ TI-pass Login https://entlogin.ti.com/idp/SSO.saml2 Texas Instruments GitHub https:…

STM32的三种下载方式

结果jlink&#xff0c;串口&#xff0c;stlink方式都没有问题&#xff0c;是当时缩减代码&#xff0c;看真正起作用的代码段有哪些&#xff0c;就把GPIO初始化中 /*开启GPIO外部时钟*/RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE); 把开启外部时钟的代码注释掉了。…

手把手一起开发SV4E-I3C设备(一)

1、SV4E-I3C设备介绍 SV4E-I3C 是Introspect Technology基于 13C 的设备接口开发、测试和编程的全套解决方案。该设备集三种仪器于一身&#xff0c;可用作协议练习器、协议分析器和通用 I3C 器件编程器&#xff0c;设备实物图片如图所示&#xff1a; SV4E-I3C设备的物理连接如…

工程师日常:海丰县附城镇鹿境元宵开灯活动

海丰县附城镇鹿境元宵开灯活动 &#xff08;蔡惠进搜集整理&#xff09; 鹿境乡春节正月初十大老热&#xff0c;全县家喻户晓。为纪念先祖功德&#xff0c;在本乡车地建立蔡氏“济阳堂”大祖祠&#xff0c;并定年初十为开灯日&#xff0c;大祖开灯代代相传。凡移居外乡裔孙、“…

ClickHouse--07--Integration 系列表引擎

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Integration 系列表引擎1 HDFS1.1 语法1.2 示例&#xff1a; 2 MySQL2.1 语法2.2 示例&#xff1a; 3 Kafka3.1 语法3.2 示例&#xff1a;3.3 数据持久化方法 Integ…

vllm 库调用大模型

使用 vllm 库调用大模型&#xff0c;这里调用的是通义千问&#xff0c;那需要先下载&#xff1a; 通义千问-14B-Chat vllm 这个库目前只能在 linux 上用&#xff0c; win 是用不了的&#xff0c;pip 安装不了&#xff0c;这里弄了一个调用示例代码 from vllm import LLM, Sam…

day08.C++继承与派生

继承&#xff08;Inheritance&#xff09;可理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类 A&#xff0c;那么 B 就拥有 A 的成员变量和成员函数。 在C中&#xff0c; 派生&#xff08;Derive&#xff09; 和继承是一个概念&#xff0c;只是站的角度…