leetcode算法课程第十周博客
来源:互联网 发布:卷积神经网络算法原理 编辑:程序博客网 时间:2024/06/06 17:06
leetcode算法课程第十周博客
575. 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 distribute these candies equally in number to brother and sister. Return the maximum number of kinds of candies the sister could gain.
Example 1:
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.
Example 2:
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].
分析:
在candies变量中,提供了两个有效信息,一个是糖果的总数,总数总是偶数个,这样哥哥和姐姐就能分到一样多的糖果,另一个信息是糖果的种类,因此我们总是偏向于给姐姐种类更多的糖果,用set得到种类的个数,和糖果总数的一般做比较,少的那个就是姐姐能分到的最大的糖果种数
源代码
class Solution {public: int distributeCandies(vector<int>& candies) { int length = candies.size(); int gainNums = length/2; set<int> check; for (int i = 0; i < length; i++) { check.insert(candies[i]); } int kinds = check.size(); if (gainNums > kinds) { return kinds; } else { return gainNums; } }};
运行结果
- leetcode算法课程第十周博客
- 算法课程Leetcode作业第二周技术博客
- 算法课程Leetcode作业第三周技术博客
- 第十周LeetCode算法题两道
- Leetcode 算法习题 第十周
- 算法课程LeetCode题解博客网站更换说明
- 算法课程Leetcode作业第一周技术博客
- 算法课程Leetcode作业第四周技术博客
- 算法分析与设计课程作业第十周#1
- 中山大学算法课程题目详解(第十周)
- 算法课程第六周Leetcode作业
- Leetcode算法课程第七周作业
- Leetcode算法课程第八周(补)
- Leetcode算法课程第九周(补)
- 补第十一周Leetcode 博客
- 第十一周LeetCode算法题两道
- Leetcode 算法设计 第十四周
- Leetcode 算法设计 第十四周
- 经验总结-完整介绍Android Studio中Git的使用之GitHub更新代码到本地(四)
- hisi平台遥控器按键适配
- 神经网络与机器学习(第3版)阅读笔记{第1章}
- shell、gawk、sed使用散记
- 设计模式之简单工厂模式
- leetcode算法课程第十周博客
- Activity的四种启动模式
- 习题6.12
- C++11中的auto与范围for----C++学习之路
- python科学计算值numpy
- C++之迷宫问题
- PAT (Basic Level) Practise (中文)1054. 求平均值 (20)
- 求字符数组中字符串的长度strlen(自实现)
- Git 删除文件 文件夹