牛客题霸 [分糖果问题] C++题解/答案

题目描述

一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下:

  1. 每个孩子不管得分多少,起码分到一个糖果。
  2. 任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果。(若相同则无此限制)
    给定一个数组arr代表得分数组,请返回最少需要多少糖果。
    [要求]
    时间复杂度为On, 空间复杂度为O1

题解:

正着来一遍,倒着来一遍
根据大小关系递归赋值

代码:

class Solution {public:/*** pick candy* @param arr int整型vector the array* @return int整型*/int candy(vector<int>& arr) {// write code hereint len=arr.size();int sum=0;vector<int>a(len,1);for(int i=1;i<len;i++){if(arr[i]>arr[i-1])a[i]=a[i-1]+1;}for(int i=len-2;i>=0;i--){if(arr[i]>arr[i+1])a[i]=max(a[i],a[i+1]+1);}for(int i=0;i<len;i++)sum+=a[i];return sum;}
};

牛客题霸 [分糖果问题] C++题解/答案相关推荐

  1. 牛客题霸 [矩阵元素查找] C++题解/答案

    牛客题霸 [矩阵元素查找] C++题解/答案 题目描述 已知int一个有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,且矩阵的行和列都是从小到大有序的.设计查找算法返回所查找元素的二元数 ...

  2. 牛客题霸 [栈和排序] C++题解/答案

    牛客题霸 [栈和排序] C++题解/答案 题目描述 给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数组进行从大到小排序 当无法完全排序时,请输出字典序最大的出栈序 ...

  3. 牛客题霸 [字符串的排列] C++题解/答案

    牛客题霸 [字符串的排列] C++题解/答案 题解: stl真好用,emmm... 代码: class Solution {public:vector<string> Permutatio ...

  4. 牛客题霸 [ 验证IP地址] C++题解/答案

    牛客题霸 [ 验证IP地址] C++题解/答案 题目描述 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围 ...

  5. 牛客题霸 [表达式求值] C++题解/答案

    牛客题霸 [表达式求值] C++题解/答案 题目描述 请写一个整数计算器,支持加减乘三种运算和括号. 题解: 没有除法emmm 我们从头开始依次判断每个字符 如果是左括号,我们就找右括号,并截取括号内 ...

  6. 牛客题霸 [判断回文] C++题解/答案

    牛客题霸 [判断回文] C++题解/答案 题目描述 给定一个字符串,请编写一个函数判断该字符串是否回文.如果回文请返回true,否则返回false. 题解: 左右两端同时向中间缩 代码: class ...

  7. 牛客题霸 [合并有序链表] C++题解/答案

    牛客题霸 [合并有序链表] C++题解/答案 题目描述 将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的. 题解: 首先判断l1和l2是否为空 然后依次比较l1和l2的值 ...

  8. 牛客题霸 [二叉树的镜像]C++题解/答案

    牛客题霸 [二叉树的镜像]C++题解/答案 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 题解: 根据题也不难看出,二叉树的镜像定义其实就是左右树翻转 所以我们一直递归左子树,到头后递归右子 ...

  9. 牛客题霸 [ 树的直径] C++题解/答案

    牛客题霸 [ 树的直径] C++题解/答案 题目描述 给定一棵树,求出这棵树的直径,即两个节点距离的最大值. 题解: 不知道大家听没听过一个结论: 树的直径可以通过两边dfs找到 步骤: 1.从任意一 ...

最新文章

  1. 一周内咸鱼疯转2.4W次,最终被所有大厂封杀!
  2. CTFshow 文件包含 web80
  3. linux保存输出结果到txt
  4. FPGA 常用存储器比较
  5. java 异常限制_java的异常限制
  6. 南昌二中高考2021成绩查询,南昌二中2019高考成绩喜报、一本二本上线人数情况...
  7. python乒乓球比赛规则介绍_乒乓球比赛规则及赛制
  8. 微信登录服务器提示异地登录异常,最近QQ微信被异地登录怎么回事 收到微信异地登录的信息怎么办...
  9. 怎样将图片上文字转换成word文字
  10. linux命令界面切换桌面,Linux图形界面和命令行界面切换
  11. 【数据结构与算法】动态规划
  12. 用关键词搜索店铺列表详情
  13. face_recognition IndexError: list index out of range
  14. pycharm 如何配置主题背景色 墨绿色
  15. 用户画像 各维度表的结构图
  16. android 西班牙语,Android新增语言的方法(墨西哥的西班牙语)
  17. css 高度塌陷_CSS高度塌陷问题解决方案
  18. 在css中如何调整字间距?
  19. 视频编辑器-MovieMator简洁使用-功能和快速入门-创建项目、导入和导出
  20. R-概率统计与模拟(三)变换均匀分布对特定分布进行抽样

热门文章

  1. 1个月教你学会用Python实现机器学习
  2. linux c语言编程内嵌汇编,gcc编译c语言中内嵌汇编
  3. c语言md5函数 linux,Linux下C语言计算文件的md5值(长度32)
  4. python程序设计实践教程陈东_Python
  5. php+转义实体字符,PHP针对HTML实体字符的转义函数
  6. oracle绑定变量过多,oracle - 在SQL Plus中使用绑定变量并返回多行? - 堆栈内存溢出...
  7. java跨库调用存储_存储库仅在第二个调用数据时发送回ViewModel
  8. eval() php,js-eval编码,js-eval解码
  9. acwing2060. 奶牛选美(bfs)
  10. 数据结构 - 最小堆最大堆