[LeetCode][Java][email protected]

Candy

There are N children standing in a line. Each child is
assigned a rating value.

You are giving candies to these children subjected to the following
requirements:

  • Each child must have at least one candy.

  • Children with a higher rating get more candies than their neighbors.

What is the minimum candies you must give?

Runtime: 392 ms

这道题跟Leetcode 一道contain
water的题很像,思想很简单,可以把每个小朋友单独考虑,看下每个小朋友左边有紧邻的小朋友rate降序的个数,再看下该小朋友右边紧邻的小朋友降序的个数,然后就能确定本小朋友的最小“高度”(两降序个数中较大值),即为小朋友应得的糖果。

方法:从前往后,从后往前扫描两遍,并用lowleft[],lowright[]分别记录每个小朋友两边的降序个数即可~

public class Solution {

public int candy(int[] ratings) {

if(ratings.length==0) return 0;

if(ratings.length==1) return 1;

int[] lowleft=new int[ratings.length];

int[] lowleft=new int[ratings.length];

int ret=0;

lowleft[0]=0;

for(int i=1;i<ratings.length;i++){

if(ratings[i-1]<ratings[i])
lowleft[i]=lowleft[i-1]+1;

//else if(ratings[i-1]==ratings[i])
lowleft[i]=lowleft[i-1];

else lowleft[i]=0;

}

lowright[ratings.length-1]=0;

for(int j=ratings.length-2;j>=0;j--){

if(ratings[j+1]<ratings[j])
lowright[j]=lowright[j+1]+1;

//else if(ratings[j+1]==ratings[j])
lowright[j]=lowleft[j+1];

else lowright[j]=0;

}

for(int i=0;i<ratings.length;i++){

ret=ret+1+Math.max(lowright[i],lowleft[i]);

}

return ret;

}

}

时间: 2024-08-10 19:18:57

[LeetCode][Java][email protected]的相关文章

java [email&#160;protected] Myeclipse 2015 stable 1.0 完美破解方法

Myeclipse 2015 stable 1.0 完美破解方法 破解步骤: 使用以前的注册机算号,版本选择Blue即可,后续可解锁Spring高级功能,即Bling的所有功能全部具备 1.1 进入myeclipse2015_keygen/文件夹,如图: 1.2 双击crack.bat(windows下)或者双击cracker.jar(配置好Java环境的MAC windows 或者linux—MAC windows已亲测可用linux系统理论上也可用).&lt;img class="i

hadoop错误Ignoring exception during close for [email&#160;protected] java.io.IOException Spill failed

1.错误    Ignoring exception during close for [email protected] java.io.IOException: Spill failed2.原因     本地磁盘空间不足非hdfs (我是在myeclipse中调试程序,本地tmp目录占满)3.解决     清理.增加空间 如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的[推荐]. 如果,您希望更容易地发现我的新博客,不妨点击一下左下角的[关注我]. 如果,您对我的博客所讲述的内容有

java.io.IOException: Can&#39;t read [[email&#160;protected]] (Can&#39;t process class [WEB-INF/clas

执行Maven Install打包的时候,出现以下错误信息: [proguard] ProGuard, version 4.4 [proguard] Reading input... [proguard] Reading program war [F:\Workspaces\pro-test\target\pro-test-0.0.1-SNAPSHOT.war] (filtered) [proguard] java.io.IOException: Can't read [[email prote

Java解决 [email&#160;protected] SVN空目录

[email protected] SVN方式提交,空目录将出现下述情况 svn: E200015: Empty directories is not supported: {PATH} 解决方案:空目录中添加文件使其满足条件即可 此处使用Java语言编写,其他语言处理方式类似 不多说,直接上代码 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOExce

java.lang.IllegalArgumentException: Requested window [email&#160;protected] 异常处理

晕死的错误,改了半天也没想到是这样的原因,基础正要呀... 先看一下警告信息: 07-07 08:32:19.540: WARN/WindowManager(74): Failed looking up window07-07 08:32:19.540: WARN/WindowManager(74): java.lang.IllegalArgumentException:Requested window [email protected] does not exist07-07 08:32:19

org.xmlpull.v1.XmlPullParserException: PI must not start with xml (position:unknown [email&#160;protected]:5 in java.io

用Pull方法解析XML文件时,有时候读取UTF-8个格式的xml会抛出如下的异常: org.xmlpull.v1.XmlPullParserException: PI must not start with xml (position:unknown @1:5 in [email protected]) 此异常存在的原因是:java 核心不支持 UTF-8 BOM 标记的文件. 解决方式: ①保存UTF-8 xml 文件时,去掉 BOM标记,即: ②在读取xml时,去掉 BOM 文件头,具体

maven项目中使用redis集群报错: java.lang.NumberFormatException: For input string: &quot;[email&#160;protected]&quot;

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [redis.clients.jedis.JedisCluster]: Constructor threw exception; nested exception is java.lang.NumberFormatException: For input string: "[email protected]" at

用 Java 技术创建 RESTful Web 服务/@[email&#160;protected]@PathParam

简介 JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX-RS 的主要组件.本文用一个例子展示了一个企业如何使用 JAX-RS 内的功能以一种 Restful 的方式公开员工的联系信息. 背景 多年来,开发人员使用各种工具在其 Java 应用程序内创建 RESTful 服务.由于 REST 架构的简单性,主要需求 - 接收 HTTP 消息和头部的能力 -

解决docker下载[[email&#160;protected] var]# docker pull java Using default tag: latest Try镜像出现 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net......: net/http: TLS handshake timeout的问题

[[email protected] var]# docker pull javaUsing default tag: latestTrying to pull repository docker.io/library/java ... latest: Pulling from docker.io/library/java5040bd298390: Pulling fs layer fce5728aad85: Pulling fs layer 76610ec20bf5: Waiting 6017