leetcode575-Distribute Candies

2024-04-05 22:12

本文主要是介绍leetcode575-Distribute Candies,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目

Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。
医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。
给你一个长度为 n 的整数数组 candyType ,返回: Alice 在仅吃掉 n / 2 枚糖的情况下,可以吃到糖的 最多 种类数。
示例 1:
输入:candyType = [1,1,2,2,3,3]
输出:3
解释:Alice 只能吃 6 / 2 = 3 枚糖,由于只有 3 种糖,她可以每种吃一枚。
提示:
n == candyType.length
2 <= n <= 104
n 是一个偶数
-10^5 <= candyType[i] <= 10的5次方

分析

这道题目本质上是在一半的糖果数和糖果的种类数之间求一个最小值。这个题目还是要想到元素作为新数组的下标的方式来统计,但是需要注意提示中糖果的种类有可能是负数,数组是没用负数下标的,但是我们可以通过整体+100000的方式就可以把它变成正数,这样也不会影响统计

public class distributeCandies {public static void main(String[] args) {int[] arr = {1,1,2,2,3,3};System.out.println(getKind(arr));}public static int getKind(int[] brr) {int len = brr.length;int m = len / 2;int[] arr = new int[200001];int cnt = 0;for(int i = 0;i<len;i++) {arr[brr[i]+100000]++;if(arr[brr[i]+100000] == 1) {cnt++;}}return Math.min(m,cnt);}
}

这篇关于leetcode575-Distribute Candies的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Unity Adressables 使用说明(四)分发远程内容(Distribute Remote Content)

概述 远程分发内容可以减少应用程序的初始下载大小和安装时间。你还可以更新远程分发的资源,而无需重新发布应用程序或游戏。 当你将远程 URL 分配为 Group 的加载路径(Load Path)时,Addressables 系统会从该 URL 加载组中的资源。当你启用Build Remote Catalog选项时,Addressables 会在 Remote Catalog 中查找任何远程资源的

Hive中order by,sort by,distribute by,cluster by的区别

一:order by order by会对输入做全局排序,因此只有一个Reducer(多个Reducer无法保证全局有序),然而只有一个Reducer,会导致当输入规模较大时,消耗较长的计算时间。关于order by的详细介绍请参考这篇文章:Hive Order by操作。 二:sort by sort by不是全局排序,其在数据进入reducer前完成排序,因此,如果用sort

[置顶]LCM性质 + 组合数 - HDU 5407 CRB and Candies

CRB and Candies Problem's Link  Mean:  给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...C(n,n))的值,(n<=1e6). analyse: 很有趣的一道数论题! 看了下网上别人的做法,什么Kummer定理我还真没听说过,仔细研究一下那个鬼定理真是涨姿势了! 然而这题我并不是用Kummer那货搞的(w

poj 2886 Who Gets the Most Candies?

单点更新,还有凡素数表,所谓反素数, 对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4. 定义:如果某个正整数x满足:对于任意i(0<i<x),都有g(i)<g(x),则称x为反素数. 现在给一个N,求出不超过N的最大的反素数. 比如:输入1000 输出 840 思维过程: 求[1..N]中最大的反素数-->求约数最多的数 如果求约数的个数

POJ 2886 Who Gets the Most Candies? (线段树,单点更新)

http://poj.org/problem?id=2886 Who Gets the Most Candies? Time Limit: 5000MS Memory Limit: 131072KTotal Submissions: 9426 Accepted: 2871Case Time Limit: 2000MS Description N children are sitt

Distribute Candies问题及解法

问题描述: Given an integer array with even length, where different numbers in this array represent different kinds of candies. Each number means one candy of the corresponding kind. You need to distribut

chi-square, chi-distribute与Guassian distribute近似

chi-distribute is closer to Guassian distribute than chi-square.

B. Inna and New Matrix of Candies

Inna likes sweets and a game called the "Candy Matrix". Today, she came up with the new game "Candy Matrix 2: Reload". The field for the new game is a rectangle table of size n × m. Each line of the

Codeforces 400B Inna and New Matrix of Candies(暴力)

题目链接:Codeforces 400B Inna and New Matrix of Candies 题目大意:给出n和m表示有n行m列,每一行上有一个小人G和一个糖果S,每次操作可以让所有小人一起向右移动,直到有某个小人碰到糖果或者是走到尽头,问说至少要多少次操作才可以使得所有小人都吃到糖果,如果有小人吃不到糖果输出-1. 解题思路:暴力,对于每一行记录住小人移动到糖果需要多少

政安晨:【Keras机器学习示例演绎】(四十二)—— 使用 KerasNLP 和 tf.distribute 进行数据并行训练

目录 简介 导入 基本批量大小和学习率 计算按比例分配的批量大小和学习率 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 本文目标:使用 KerasNLP 和 tf.distribute 进行数据并行训练。 简介 分布式训练是一种在