头歌资源库(16)分苹果

2024-06-23 08:28
文章标签 资源库 头歌 16 苹果

本文主要是介绍头歌资源库(16)分苹果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 问题描述

 二、算法思想 

       首先,我们可以初始化一个数组apple来记录每个孩子分配的苹果数量,将所有元素初始化为1,表示每个孩子至少分配到一个苹果。

       然后,从左到右遍历评分数组ratings,判断当前孩子的评分与前一个孩子的评分的大小关系。若当前孩子的评分大于前一个孩子的评分,则将当前孩子分配的苹果数量设为前一个孩子分配的苹果数量加1,保证相邻孩子评分更高的孩子分配到更多的苹果。

       接着,从右到左再次遍历评分数组ratings,判断当前孩子的评分与后一个孩子的评分的大小关系。若当前孩子的评分大于后一个孩子的评分,并且当前孩子分配的苹果数量不大于后一个孩子分配的苹果数量,则将当前孩子分配的苹果数量设为后一个孩子分配的苹果数量加1,保证相邻孩子评分更高的孩子分配到更多的苹果。

         最后,统计所有孩子分配的苹果数量之和,即为需要准备的最少苹果数目。

三、代码实现

#include <stdio.h>int minApples(int ratings[], int n) {if (n <= 0) return 0;int apples[n];for (int i = 0; i < n; ++i) apples[i] = 1; // 每个孩子至少分配一个苹果// 从左向右扫描,保证右边评分高的孩子拿到的苹果比左边多for (int i = 1; i < n; ++i) {if (ratings[i] > ratings[i - 1]) {apples[i] = apples[i - 1] + 1;}}// 从右向左扫描,保证左边评分高的孩子拿到的苹果比右边多for (int i = n - 2; i >= 0; --i) {if (ratings[i] > ratings[i + 1] && apples[i] <= apples[i + 1]) {apples[i] = apples[i + 1] + 1;}}int totalApples = 0;for (int i = 0; i < n; ++i) {totalApples += apples[i];}return totalApples;
}int main() {int n;scanf("%d", &n);int ratings[n];for (int i = 0; i < n; ++i) {scanf("%d", &ratings[i]);}int minTotalApples = minApples(ratings, n);printf("%d", minTotalApples);return 0;
}

执行结果  

  结语    

学而不思则罔

思而不学则殆

!!!

这篇关于头歌资源库(16)分苹果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086632

相关文章

16.Spring前世今生与Spring编程思想

1.1.课程目标 1、通过对本章内容的学习,可以掌握Spring的基本架构及各子模块之间的依赖关系。 2、 了解Spring的发展历史,启发思维。 3、 对 Spring形成一个整体的认识,为之后的深入学习做铺垫。 4、 通过对本章内容的学习,可以了解Spring版本升级的规律,从而应用到自己的系统升级版本命名。 5、Spring编程思想总结。 1.2.内容定位 Spring使用经验

苹果剪切板,涨姿势了UIPasteboard

有时候我们可能需要复制UILabel上的文本,或者UIImageView的图片,而UILabel和UIImageView默认是不响应Touch事件的,也无法复制,那么我们就需要自己实现一个可复制的UILabel。新添加一个类继承自UILabel: [objc]  view plain copy print ? @interface UICopyLabel : UILa

【Qt6.3 基础教程 16】 掌握Qt中的时间和日期:QTimer和QDateTime的高效应用

文章目录 前言QTimer:定时任务的强大工具QTimer的基本用法高级特性:单次定时器 QDateTime:处理日期和时间获取当前日期和时间日期和时间的格式化输出日期和时间计算 用例:创建一个倒计时应用结论 前言 在开发桌面应用程序时,处理时间和日期是一个常见且重要的任务。Qt框架提供了强大的工具来处理与时间相关的功能,其中QTimer和QDateTime是最核心的类。本

潜艇伟伟迷杂交版植物大战僵尸2024最新免费安卓+ios苹果+iPad分享

嗨,亲爱的游戏迷们!今天我要给你们种草一个超有趣的游戏——植物大战僵尸杂交版。这款游戏不仅继承了原有经典游戏的核心玩法,还加入了许多创新元素,让玩家能够体验到前所未有的乐趣。快来跟随我一起探索这个神奇的世界吧! 植物大战僵尸杂交版最新绿色版下载链接: https://pan.quark.cn/s/d60ed6e4791c 🔥 创新与经典的完美结合 植物大战僵尸杂交版在保持了原游戏经典玩

Linux float int和16进制互相转换

Linux 上float int和16进制互换操作。之前把float转16进制,也就是转成4个字节,方便使用串口传输嘛。使用的方法是: //float 转 16进制float x_pid_p = 15.0;unsigned char * bValue = (unsigned char *)& x_pid_p;printf("%x\t%x\t%x\t%x\n", bValue[0], bVa

2021-02-16物料档案条码添加和蓝牙条码标签打印,金蝶安卓盘点机PDA,金蝶仓库条码管理WMS系统

物料档案条码添加和蓝牙条码标签打印,金蝶安卓盘点机PDA https://member.bilibili.com/platform/upload-manager/article 本期视频我们来讲解一下汉点机PDA条码添加和条码标签蓝牙便携打印: 在实际使用中,我们商品有两种情况: 一种是商品本身就有条码, 比如:超市卖的可口可乐,牛奶等商品,商品本身就有69开头的国标码,那么我们就可以使用盘点

[图解]建模相关的基础知识-16

1 00:00:00,350 --> 00:00:04,130 刚才那个,就相当于,12这个我们可以认为是什么 2 00:00:05,020 --> 00:00:11,360 我们用类图来表达就是,员工、电话 3 00:00:13,320 --> 00:00:15,080 多个 4 00:00:15,090 --> 00:00:16,440 当然这个电话这里 5 00:00:16,970

苹果手机safari浏览器的userAgent显示为电脑的userAgent问题解决

目录 1.问题背景 2.userAgent 3.解决 1.问题背景 开发了一个H5,是通过生成二维码,扫描这个二维码后就跳到这个H5,所以需要判断一下扫描的设备是否为手机,然后由于业务逻辑还需要判断一下手机是Android、iOS还是iPad。一般前端的做法是通过浏览器的userAgent来判断,某天有用户保障,说通过苹果手机扫描二维码后H5提示用户设备不是Android或者iP

数据库阿里连接池 druid配置详解 标签: druidspringjavaxml配置阿里池 2016-06-16 00:34 57532人阅读 评论(11) 收藏 举报 版权声明:本文为博主原创文

数据库阿里连接池 druid配置详解 标签: druidspringjavaxml配置阿里池 2016-06-16 00:34  57532人阅读  评论(11)  收藏  举报 版权声明:本文为博主原创文章,未经博主允许不得转载。 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池。数据库连接池有很多选择,c3p、dh

苹果IOS系统和Mac OS系统的差别匿名

虽然Mac OS 和iOS都是基于Darwin(苹果的一个开源的系统内核,基于Unix),但这只是操作系统部分,前者只能运行在X86\X86-64构架的硬件上(过去的版本还支持PowerPC构架),而iOS只能运行在ARM构架的设备上,比如iPhone、iPod Touch、iPad和Apple TV 2/3代上。因为构架不同,二者之间完全不能通用,所以iPad上自然无法运行OSX,也不能运行基于