博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LeetCode】1431. 拥有最多糖果的孩子
阅读量:2004 次
发布时间:2019-04-28

本文共 1331 字,大约阅读时间需要 4 分钟。

首先祝Jerry生日快乐!

今天这个打卡题是关于“糖果”的,恰好六一儿童节。

题目描述

给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。

对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。

注意,允许有多个孩子同时拥有 最多 的糖果数目。

示例 1:

输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true] 解释:孩子 1 有 2 个糖果,如果他得到所有额外的糖果(3个),那么他总共有 5 个糖果,他将成为拥有最多糖果的孩子。孩子 2 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。孩子 3 有 5 个糖果,他已经是拥有最多糖果的孩子。孩子 4 有 1 个糖果,即使他得到所有额外的糖果,他也只有 4 个糖果,无法成为拥有糖果最多的孩子。孩子 5 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。

示例 2:

输入:candies = [4,2,1,1,2], extraCandies = 1输出:[true,false,false,false,false] 解释:只有 1 个额外糖果,所以不管额外糖果给谁,只有孩子 1 可以成为拥有糖果最多的孩子。

示例 3:

输入:candies = [12,1,12], extraCandies = 10输出:[true,false,true]

提示:

  • 2 <= candies.length <= 100
  • 1 <= candies[i] <= 100
  • 1 <= extraCandies <= 50

题解

因为题目有这个关键信息“允许有多个孩子同时拥有 最多 的糖果数目”,这样直接减少了很多麻烦。

题解就“暴力枚举”,两个步骤,两次数组遍历:

  1. 找到数组中最大的元素

  2. 判断每个元素加上extraCandies能否达到最大值

直接上源码:

class Solution {
public List
kidsWithCandies(int[] candies, int extraCandies) {
List
ans = new ArrayList<>(); // 定义 max 记录数组的最大值,初始化为 0 int max = 0; for (int c : candies) {
max = Math.max(max, c); } // 依次遍历数组,判断元素加上额外糖果大于等于最大值则可以符合条件,否则不可以 for (int c : candies) {
ans.add(c + extraCandies >= max); } return ans; }}

提交

题后感想

五月已逝,六月努力的💪

转载地址:http://bmatf.baihongyu.com/

你可能感兴趣的文章
2020重新出发,MongoDB分布式集群架构
查看>>
来来来·巩固你的Nginx知识体系
查看>>
冲冲冲!热乎乎的腾讯后端面试真题一起来学
查看>>
面经分享:字节跳动、腾讯后台开发岗
查看>>
Android 9.0静默安装整理
查看>>
千万别刚一个程序员,手写一个抖音视频去水印工具!
查看>>
底层源码分析实现Jdk动态代理
查看>>
都0202年了,三目运算符的BUG还有人不知道?
查看>>
金九银十想面BAT?这些JDK 动态代理的面试点你必须要知道
查看>>
详细!Mybatis-plus常用API全套教程,看完j就懂!
查看>>
Springboot下使用redis踩过的坑:腾讯架构师心得
查看>>
统一异常处理+后端参数校验+Springboot-后端统一返回接口
查看>>
利用EasyCode插件提高开发效率
查看>>
618电商实战项目开源回忆录!40K+Star!Mall
查看>>
不是吧?不是吧?不会多态,你还说自己会Java
查看>>
QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考
查看>>
知道为什么Mybatis的Mapper中的方法不能重载吗?
查看>>
恩?Binlog还能这样用 之Canal
查看>>
深度剖析!全新的ZGC为我们解决什么问题!
查看>>
突破了 DockerHub 限制,全镜像加速服务
查看>>