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

中国作文网官网培训行业seo整站优化

中国作文网官网,培训行业seo整站优化,深圳装修公司电话,建立网站需要什么手续Every day a Leetcode 题目来源:2928. 给小朋友们分糖果 I 解法1:暴力 枚举 3 位小朋友的糖果数,范围为 [0, limit],分别记为 i、j、k。 当满足 i j k n 时,答案 1。 代码: /** lc appleetcode.c…

Every day a Leetcode

题目来源:2928. 给小朋友们分糖果 I

解法1:暴力

枚举 3 位小朋友的糖果数,范围为 [0, limit],分别记为 i、j、k。

当满足 i + j + k == n 时,答案 +1。

代码:

/** @lc app=leetcode.cn id=2928 lang=cpp** [2928] 给小朋友们分糖果 I*/// @lc code=start// 暴力class Solution
{
public:int distributeCandies(int n, int limit){int count = 0;for (int i = 0; i <= limit; i++)for (int j = 0; j <= limit; j++)for (int k = 0; k <= limit; k++)if (i + j + k == n)count++;return count;}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(limit3),其中 limit 是 1 名小朋友能得到的糖果数的最大值。

空间复杂度:O(1)。

解法2:一次遍历

将第 1 个小朋友得到的糖果数记为 i,第 2 个小朋友和第 3 个小朋友得到的糖果总数为 remain=n−i。由于每个小朋友得到的糖果数都不超过 limit,因此应满足如下条件:

  1. 第 1 个小朋友得到的糖果数的范围是 [0,limit],即 i≤limit。

  2. 第 2 个小朋友和第 3 个小朋友得到的糖果总数的范围是 [0,limit×2],即 0≤remain≤limit×2。

将 remain=n−i 代入,整理得到 max⁡(0,n−limit×2)≤i≤min⁡(n,limit)。枚举该范围中的每个 i 作为第 1 个小朋友得到的糖果数,第 2 个小朋友和第 3 个小朋友得到的糖果总数是 remain 的分配糖果的方案数计算如下:每个小朋友最多得到的糖果数是 maxCandies=min⁡(remain,limit),最少得到的糖果数是 max⁡(0,remain−limit),因此第 2 个小朋友和第 3 个小朋友得到的糖果总数是 remain 的分配糖果的方案数是 maxCandies−minCandies+1。

遍历所有的 i 之后,即可得到分配糖果的方案数。

代码:

// 一次遍历class Solution
{
public:int distributeCandies(int n, int limit){if (n > 3 * limit)return 0;int count = 0;for (int i = max(0, n - 2 * limit); i <= min(n, limit); i++){int remain = n - i;int maxCandies = min(remain, limit);int minCandies = max(0, remain - limit);count += maxCandies - minCandies + 1;}return count;}
};

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(min(n, limit)),其中 n 是分配的糖果总数,limit 是每个小朋友得到的糖果数的上限。

空间复杂度:O(1)。

解法3:容斥原理

题解:【灵茶山艾府】O(1) 容斥原理(Python/Java/C++/Go)

代码:

// 容斥原理class Solution
{int c2(int n){return n > 1 ? n * (n - 1) / 2 : 0;}public:int distributeCandies(int n, int limit){return c2(n + 2) - 3 * c2(n - limit + 1) + 3 * c2(n - 2 * limit) - c2(n - 3 * limit - 1);}
};

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(1)。

空间复杂度:O(1)。

http://www.ds6.com.cn/news/7568.html

相关文章:

  • 昆山网页网站制作淄博新闻头条最新消息
  • 枣强网站建设电话新手怎么做电商
  • 网站seo心态竞价托管多少钱一个月
  • 和平区网站制作如何利用互联网宣传与推广
  • 网站开发什么是会话关键词排名代发
  • 网站建设技术服务费怎么写分录百度推广在线客服
  • 网站开发论文模板采集站seo赚钱辅导班
  • 淘宝的网站建设百度热线电话
  • 九网互联怎么建设网站拉新推广赚钱的app
  • 揭阳网站开发网站宣传推广策划
  • 大气 网站模板上海seo顾问推推蛙
  • 广州网站建设clov5r品牌营销策划案例
  • 做企业网站推广多少钱效果最好的推广软件
  • 如果用别人公司信息做网站最新的新闻 今天
  • 武汉580做网站教你免费申请个人网站
  • 湖北去哪做经营性网站备案网址查询
  • 网站链接可以自己做吗环球网最新消息
  • 做好网站怎么做appseo优化推广技巧
  • 做电影网站会不会涉及版权问题百度贴吧官网app下载
  • 浙江建设网官方网站网络推广平台有哪些渠道
  • 计算机it培训班电子商务seo
  • 医院网站建设解决方案太原整站优化排名外包
  • ps网站首页设计图制作教程seo优化排名易下拉用法
  • 网站制作模板下载专业做网站设计
  • wordpress 添加文件东莞seo建站投放
  • 三合一网站建设 万网百度搜索排名查询
  • 建设农村信息网站百度知道提问
  • 游戏设计免费关键词排名优化
  • 电子商务网站难做吗广告公司怎么找客户资源
  • 做网站怎么不被找到株洲seo优化