问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3798 访问。

给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。

输入: candies = [1,1,2,2,3,3]

输出: 3

解析: 一共有三种种类的糖果,每一种都有两个。

最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。

输入: candies = [1,1,2,3]

输出: 2

解析: 妹妹获得糖果[2,3],弟弟获得糖果[1,1],妹妹有两种不同的糖果,弟弟只有一种。这样使得妹妹可以获得的糖果种类数最多。

注意:

数组的长度为[2, 10,000],并且确定为偶数。
数组中数字的大小在范围[-100,000, 100,000]内。


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 distribute these candies equally in number to brother and sister. Return the maximum number of kinds of candies the sister could gain.

Input: candies = [1,1,2,2,3,3]

Output: 3

Explanation:There are three different kinds of candies (1, 2 and 3), and two candies for each kind.

Optimal distribution: The sister has candies [1,2,3] and the brother has candies [1,2,3], too. 
The sister has three different kinds of candies.

Input: candies = [1,1,2,3]

Output: 2

Explanation: For example, the sister has candies [2,3] and the brother has candies [1,1]. 
The sister has two different kinds of candies, the brother has only one kind of candies.

Note:

The length of the given array is in range [2, 10,000], and will be even.
The number in given array is in range [-100,000, 100,000].


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3798 访问。

public class Program {public static void Main(string[] args) {var words = new int[] { 1, 1, 2, 2, 3, 3 };var res = DistributeCandies(words);Console.WriteLine(res);Console.ReadKey();}public static int DistributeCandies(int[] candies) {var res = new HashSet<int>();for(var i = 0; i < candies.Length; i++) {if(!res.Contains(candies[i])) {res.Add(candies[i]);}}if(res.Count < candies.Length / 2) {return res.Count;}return candies.Length / 2;}}

以上给出1种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3798 访问。

3

分析:

显而易见,以上算法的时间复杂度为: 

C#LeetCode刷题之#575-分糖果​​​​​​​(Distribute Candies)相关推荐

  1. LeetCode刷题之575.分糖果

    LeetCode刷题之575.分糖果 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 给定一个偶数长度的数组,其中不同的数字代表着不同 ...

  2. 【快乐水题】575. 分糖果

    原题: 力扣链接:575. 分糖果 题目简述: Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] .Alice 注意到她的体重正在增长,所以前去拜访了一位医生. 医生建议 ...

  3. C#LeetCode刷题之#704-二分查找(Binary Search)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3999 访问. 给定一个 n 个元素有序的(升序)整型数组 num ...

  4. ​LeetCode刷题实战584:寻找用户推荐人

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  5. ​LeetCode刷题实战577:员工奖金

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  6. C#LeetCode刷题-二分查找​​​​​​​

    二分查找篇 # 题名 刷题 通过率 难度 4 两个排序数组的中位数 C#LeetCode刷题之#4-两个排序数组的中位数(Median of Two Sorted Arrays)-该题未达最优解 30 ...

  7. LeetCode 力扣C++题解 575. 分糖果

    题目描述:给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果.你需要把这些糖果平均分给一个弟弟和一个妹妹.返回妹妹可以获得的最大糖果的种类数.(难度:简单) 原题链接: ...

  8. C#LeetCode刷题-哈希表

    哈希表篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 42.8% 简单 3 无重复字符的最长子串   24.2% 中等 18 四数之和   ...

  9. c语言贪心算法合并箭,LeetCode刷题题库:贪心算法

    LeetCode刷题笔记:贪心算法 自大学开始,我便陆陆续续的学习一些 算法和数据结构 方面的内容,同时也开始在一些平台刷题,也会参加一些大大小小的算法竞赛.但是平时刷题缺少目的性.系统性,最终导致算 ...

  10. LeetCode 刷题之路(python版)

    摘自:https://blog.csdn.net/qq_32384313/article/details/90745354 LeetCode 刷题之路(python版) 小坏wz 2019-06-02 ...

最新文章

  1. 共享文件服务器迁移,服务器共享文件夹迁移
  2. 如果沟通有范式,它会是怎么样子?
  3. 内存条ar开头的如何看大小_软网推荐:明明白白看内存
  4. 【原创】StreamInsight查询系列(三)——基本查询操作之过滤
  5. 问题 D: 最小生成树II
  6. 题目1369:字符串的排列
  7. Oracle零碎要点---多表联合查询,收集数据库基本资料
  8. 绕过tp路由器管理密码_普联(TPLink)路由器管理员密码是什么?
  9. comtrol 终端服务器,终端服务器:远程控制台管理———终端服务器
  10. C语言第零次作业总结
  11. Google guava学习
  12. 怎么把word压缩小一点?简单的方法是什么?
  13. 2023 樱花飘落官网单页HTML源码
  14. RGB与HSV是什么,为什么要进行转换
  15. 图像修复序列——混合稀疏表示(Hybrid Sparse Representations)模型
  16. python爬取B站网页排行榜数据(进阶版)
  17. 太厉害了,终于有人能把云计算、大数据和人工智能一次性讲明白了
  18. (高级基础)15_IO
  19. 高质量网站哪里找?4个PPT自学网站告别高额培训费,看完受益一生
  20. 数字经济之新零售行动派:鸡毛换糖走向数智化

热门文章

  1. 【今日CS 视觉论文速览】10 Jan 2019
  2. SpringBoot—Entity父子类表@Inheritance和@MappedSuperclass
  3. Java—多线程创建详解
  4. 【C++】类的成员初始化表与构造函数内赋值操作
  5. 08 在C#程序中使用注释测试分析 1214
  6. 爬虫-02-了解http与https
  7. python-函数的多值传参
  8. java.util.concurrent.ExecutorService 接口 源码
  9. SEO之网站内链优化策略
  10. linux-wc命令