当前位置: 首页 > news >正文

工程信息网站排名电脑培训学校哪家好

工程信息网站排名,电脑培训学校哪家好,java网站开发公司,四川网站建设yijia028文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 575.分糖果 四【题目描述】 Alice 有 n 枚糖&…

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【题目提示】
  • 七【解题思路】
  • 八【时间频度】
  • 九【代码实现】
  • 十【提交结果】

一【题目类别】

  • 哈希表

二【题目难度】

  • 简单

三【题目编号】

  • 575.分糖果

四【题目描述】

  • 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 种糖,她可以每种吃一枚。
  • 示例 2:

    • 输入:candyType = [1,1,2,3]
    • 输出:2
    • 解释:Alice 只能吃 4 / 2 = 2 枚糖,不管她选择吃的种类是 [1,2]、[1,3] 还是 [2,3],她只能吃到两种不同类的糖。
  • 示例 3:

    • 输入:candyType = [6,6,6,6]
    • 输出:1
    • 解释:Alice 只能吃 4 / 2 = 2 枚糖,尽管她能吃 2 枚,但只能吃到 1 种糖。

六【题目提示】

  • n = = c a n d y T y p e . l e n g t h n == candyType.length n==candyType.length
  • 2 < = n < = 1 0 4 2 <= n <= 10^4 2<=n<=104
  • n 是一个偶数 n 是一个偶数 n是一个偶数
  • − 1 0 5 < = c a n d y T y p e [ i ] < = 1 0 5 -10^5 <= candyType[i] <= 10^5 105<=candyType[i]<=105

七【解题思路】

  • 因为糖果的个数总共为 n n n个,所以根据题意,最后返回的结果不会超过 n 2 \frac{n}{2} 2n
  • 此外,设这些糖果一共有 m m m种,所以说返回的结果也不会超过 m m m
  • 如果 m ≤ n 2 m \leq \frac{n}{2} m2n,那么说明可以吃到重复的糖果,但是最多吃到 m m m种糖果,返回的结果就是 m m m
  • 如果 m ≥ n 2 m \geq \frac{n}{2} m2n,那么说明就算有再多的糖果种类,也只能吃到 n 2 \frac{n}{2} 2n颗糖果
  • 综上所述,最后返回的结果为: m i n ( m , n 2 ) min(m, \frac{n}{2}) min(m,2n)
  • 实现以上思路使用哈希表即可,比较简单,具体内容可参见下面的代码
  • 最后返回结果即可

八【时间频度】

  • 时间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度
  • 空间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度

九【代码实现】

  1. Java语言版
class Solution {public int distributeCandies(int[] candyType) {HashSet<Integer> set = new HashSet<>();for(int i = 0;i < candyType.length;i++){set.add(candyType[i]);}return Math.min(set.size(), candyType.length / 2);}
}
  1. C语言版
int distributeCandies(int* candyType, int candyTypeSize)
{int* map = (int*)calloc(200001, sizeof(int));for(int i = 0;i < candyTypeSize;i++){map[candyType[i] + 100000]++;}int count = 0;for(int i = 0;i < 200001;i++){if(map[i] > 0){count++;}}return fmin(count, candyTypeSize / 2);
}
  1. Python语言版
class Solution:def distributeCandies(self, candyType: List[int]) -> int:return min(len(set(candyType)), len(candyType) // 2)
  1. C++语言版
class Solution {
public:int distributeCandies(vector<int>& candyType) {return min(unordered_set<int>(candyType.begin(), candyType.end()).size(), candyType.size() / 2);}
};

十【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. C语言版
    在这里插入图片描述

  3. Python语言版
    在这里插入图片描述

  4. C++语言版
    在这里插入图片描述

http://www.mmbaike.com/news/108498.html

相关文章:

  • 中国2020年哪里大建设优化好搜移动端关键词快速排名
  • 武汉公司网站开发软件推广平台
  • 企业建设网站的需求分析中国最大的企业培训公司
  • 武汉哪家做网站公司好风云榜
  • 衡水做阿里巴巴网站网推资源渠道
  • 自己做网站练手什么是关键词推广
  • 旅游网站建设导航栏关键词查询工具有哪些
  • WordPress设置用户访问个数网站的seo优化报告
  • 网站开发与设计实训报告总结官网制作公司
  • 宁波做企业网站公司长沙网络营销顾问
  • 重庆电商平台网站建设推广自己产品的文案
  • .net网站做增删改搜索电影免费观看播放
  • 网页登录优化seo教程
  • 杭州做企业网站公司提交链接
  • 网站限时抢购怎么做爆款引流推广软件
  • 青岛网站优化联系方式如何优化关键词排名到首页
  • 自己做的网站打开速度慢营销推广方式
  • 网站一体化建设百度推广费用可以退吗
  • 珠海网站建永久免费用的在线客服系统
  • 厦门市建设厅网站搜索引擎seo排名优化
  • 建立一个门户网站营销网络推广哪家好
  • wordpress添加自定义导航栏上海seo有哪些公司
  • 做网站怎么租用服务器吗seo高端培训
  • asp.net mvc 4 web 企业网站开发实战百度友情链接
  • 扁平 网站模板重庆网站制作公司哪家好
  • 哪些网站可以免费做代码百度热词
  • 网站建设服务器端软件软文是什么意思
  • 静态网站结构如何更新西安seo网络优化公司
  • 河北邢台沙河疫情最新消息站长工具seo综合查询引流
  • 做web网站原型设计软件优化大师使用方法