LeetCode 2928.给小朋友们分糖果 I:Java提交的运行时间超过了61%的用户

【LetMeFly】2928.给小朋友们分糖果 I:Java提交的运行时间超过了61%的用户

力扣题目链接:https://leetcode.cn/problems/distribute-candies-among-children-i/

给你两个正整数 n 和 limit 。

请你将 n 颗糖果分给 3 位小朋友,确保没有任何小朋友得到超过 limit 颗糖果,请你返回满足此条件下的 总方案数 。

 

示例 1:

输入:n = 5, limit = 2
输出:3
解释:总共有 3 种方法分配 5 颗糖果,且每位小朋友的糖果数不超过 2 :(1, 2, 2) ,(2, 1, 2) 和 (2, 2, 1) 。

示例 2:

输入:n = 3, limit = 3
输出:10
解释:总共有 10 种方法分配 3 颗糖果,且每位小朋友的糖果数不超过 3 :(0, 0, 3) ,(0, 1, 2) ,(0, 2, 1) ,(0, 3, 0) ,(1, 0, 2) ,(1, 1, 1) ,(1, 2, 0) ,(2, 0, 1) ,(2, 1, 0) 和 (3, 0, 0) 。

 

提示:

  • 1 <= n <= 50
  • 1 <= limit <= 50

解题方法:模拟

x x x 0 0 0 min ⁡ ( l i m i t , n ) \min(limit, n) min(limit,n)模拟第一个小朋友,用 y y y 0 0 0 min ⁡ ( l i m i t , n − x ) \min(limit, n-x) min(limit,nx)模拟第二个小朋友,则第三个小朋友能分到 n − x − y n-x-y nxy个。如果 n − x − y ≤ l i m i t n-x-y\leq limit nxylimit,则视为一种可行方案。

  • 时间复杂度 O ( n 2 ) O(n^2) O(n2)
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
class Solution {
public:int distributeCandies(int n, int limit) {int ans = 0;for (int x = 0; x <= n && x <= limit; x++) {for (int y = 0; y <= n - x && y <= limit; y++) {if (n - x - y <= limit) {ans++;}}}return ans;}
};
Go
// package mainfunc distributeCandies(n int, limit int) int {ans := 0for x := 0; x <= n && x <= limit; x++ {for y := 0; y <= n - x && y <= limit; y++ {if n - x - y <= limit {ans++}}}return ans
}
Java
class Solution {public int distributeCandies(int n, int limit) {int ans = 0;for (int x = 0; x <= n && x <= limit; x++) {for (int y = 0; y <= n - x && y <= limit; y++) {if (n - x - y <= limit) {ans++;}}}return ans;}
}
  • 执行用时分布1 ms,击败61.78%使用Java的用户;
  • 消耗内存分布40.03 MB,击败5.10%使用Java的用户。
Python
class Solution:def distributeCandies(self, n: int, limit: int) -> int:ans = 0for x in range(min(limit, n) + 1):for y in range(min(n - x, limit) + 1):if n - x - y <= limit:ans += 1return ans

61快乐

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/139380754

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/20435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【面试宝藏】Go基础面试题其一

探索Go语言&#xff1a;特性、用法与最佳实践 Go语言&#xff08;Golang&#xff09;自发布以来迅速成为开发者社区中的热门选择。本文将探讨Go语言的优势、数据类型、包管理、类型转换、并发处理、同步机制、通道特性及其使用中的注意事项等内容&#xff0c;并回答一些常见的…

微信小程序的事件绑定方式

微信小程序的事件绑定方式主要包括以下几种&#xff0c;每种方式都有其特定的用法和特性&#xff1a; 基础绑定方式&#xff1a; bind&#xff1a;这是最基础的绑定方式&#xff0c;用于绑定事件处理函数。例如&#xff0c;bindtap用于绑定点击事件。当组件触发事件时&#xf…

易语言贪吃蛇游戏(附带源码)

易语言贪吃蛇游戏 效果图源码说明源码领取下期更新预报 效果图 源码说明 本源码用易语言来编写&#xff0c;供大家研究&#xff0c;保留版权&#xff0c;谢谢&#xff01; 源码领取 易语言贪吃蛇游戏源码领取地址&#xff1a;https://www.123pan.com/s/ji8kjv-TKPU3.html提取…

Oracle中rman的增量备份使用分享

继上次使用RMAN的全量备份和异机还原以后&#xff0c;开始研究一下增量备份和还原的方法。相比于全量RMAN的备份还原&#xff0c;增量的备份还原就相对简单。本实践教程直接上操作&#xff0c;还是回归到一个问题&#xff0c;就是关于两个数据库创建时候&#xff0c;必须保持or…

泄漏libc基地址

拿libc基地址 方法一&#xff1a;格式化字符串 格式化字符串&#xff0c;首先确定输入的 AAAA 在栈上的位置&#xff08;x&#xff09;。使用 elf.got[fun] 获得got地址。利用格式化字符串&#xff0c;构造payload泄漏got地址处的值&#xff0c;recv接受到的字符串中&#xf…

linux部署运维1——centos7.9离线安装部署web或java项目所需的依赖环境,包括mysql8.0,nginx1.20,redis5.0等工具

在实际项目部署运维过程中&#xff0c;如果是云服务器&#xff0c;基本安装项目所需的依赖环境都是通过yum联网拉取网络资源实现自动化安装的&#xff1b;但是对于一些特殊场合&#xff0c;在没有外部网络的情况下&#xff0c;就无法使用yum命令联网操作&#xff0c;只能通过编…

网络报文协议头学习

vxlan&#xff1a;就是通过Vxlan_header头在原始报文前面套了一层UDPIP&#xff08;4/6&#xff09;Eth_hdr 需求背景&#xff1a;VXLAN&#xff1a;简述VXLAN的概念&#xff0c;网络模型及报文格式_vxlan报文格式-CSDN博客 如果服务器作为VTEP&#xff0c;那从服务器发送到接…

jmeter之MD5加密请求秒杀接口教程

前言&#xff1a; 有时候在项目中&#xff0c;需要使用MD5加密的方法才可以登录&#xff0c;或者在某一个接口中遇到 登录获取token后才可以进行关联&#xff0c;下面介绍下遇到的常见使用 一、第一种方法&#xff1a;使用jmeter自带的函数助手digest 选择工具&#xff0c;选…

并查集拓展(扩展域并查集)

事实证明&#xff0c;扩展域并查集应该在带权并查集前面讲的&#xff0c;因为比较好理解&#xff0c;而且回过头看带权并查集可能也会更轻松一些。 https://www.luogu.com.cn/problem/P1892https://www.luogu.com.cn/problem/P1892 题目描述 现在有 &#x1d45b; 个人&…

矩阵转置(函数)

题目描述 写一个函数&#xff0c;使给定的一个二维数组&#xff08;&#xff13;&#xff13;&#xff09;转置&#xff0c;即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 // 输入示例&#xff1a; 1 2 3 4 5 6 7 8 9 输出示例&#xff1a; 1 4 7 2 5 8 3 6 9…

算法解析——单身狗问题

欢迎来到博主的专栏&#xff1a;算法解析 博主ID代码小豪 文章目录 什么是单身狗问题leetcode_136——只出现一次的数字I使用位运算解决单身狗问题。 leetcode_137——只出现一次的数字II统计二进制数解决单身狗问题leetcode_260 只出现一次数字III分区域按位异或解决问题。 总…

C语言:如何写文档注释、内嵌注释、行块注释?

技术答疑流程 扫描二维码&#xff0c;添加个人微信&#xff1b;支付一半费用&#xff0c;获取答案&#xff1b;如果满意&#xff0c;则支付另一半费用&#xff1b; 知识点费用&#xff1a;10元 项目费用&#xff1a;如果有项目任务外包需求&#xff0c;可以微信私聊

微信小程序怎么注册账号

要注册微信小程序账号&#xff0c;你需要遵循以下步骤&#xff1a; 访问微信公众平台&#xff1a; 首先&#xff0c;你需要访问微信公众平台的官方网站&#xff08;https://mp.weixin.qq.com/&#xff09;。 注册或登录&#xff1a; 如果你已经有一个微信公众平台账号&#xf…

【scikit-learn009】异常检测系列:单类支持向量机(OC-SVM)实战总结(看这篇就够了,已更新)

1.一直以来想写下机器学习训练AI算法的系列文章,作为较火的机器学习框架,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下scikit-learn框架OCSVM模型相关知识体系。 3.欢迎批评指正,欢迎互三,跪谢一键三连! 4.欢迎…

Bev任务issue汇总

1. Bev grid 网格的大小,输入网络的图像的大小,前后左右的感知距离多大? Bev网格大小在通常设置为0.4*0.5; 感知距离:(横向)左右距离(20m);(纵向) -30m(后)~110m(前), 超过110米其实效果就已经很差了,90米距离效果也比较差。 2. 车道线属性分类任务用什么 Loss 车道线检…

Vue3实战笔记(57)—一键换肤:在Vuetify中打造个性化主题切换体验

文章目录 前言一键换肤总结 前言 在当今追求极致用户体验的时代&#xff0c;为应用程序提供个性化的主题切换功能已经成为提升用户满意度和留存率的关键因素之一。Vuetify&#xff0c;作为基于Vue.js的流行前端框架&#xff0c;以其丰富的组件库和高度可定制性&#xff0c;为开…

【保姆级教程】一文弄懂卡方分箱原理及实现代码

风控建模中的分箱方法通常包含有监督分箱和无监督分箱。其中有监督分箱主要包括:卡方分箱和决策树分箱。无监督分箱主要包括:等距分箱、等频分箱和聚类分箱等。    卡方分箱(ChiMerge)是一种基于统计学原理的特征离散化方法。其原理在于通过合并具有相似类分布的相邻区间…

Java传输大文件时如何避免内存溢出

1、流式传输 1、使用FileInputStream和BufferedInputStream&#xff08;或RandomAccessFile&#xff09;来从文件中读取数据。 2、使用OutputStream&#xff08;如FileOutputStream或BufferedOutputStream&#xff09;将数据写入到目标位置。 3、通过这种方式&#xff0c;可…

day05-多任务-正则-装饰器

一、多任务 1-进程和线程 进程是操作系统分配资源的最小单元 线程执行程序的的最小单元 线程依赖进程&#xff0c;可以获取进程的资源 一个程序执行 先要创建进程分配资源&#xff0c;然后使用线程执行任务 默认情况下一个进程中有一个线程 2-多任务介绍 运行多个进程或线程执…

民国漫画杂志《时代漫画》第38期.PDF

时代漫画38.PDF: https://url03.ctfile.com/f/1779803-1248636380-dd7daa?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了&#xff0c;截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!