首页 > 编程语言 >分发饼干算法

分发饼干算法

时间:2023-08-25 23:01:04浏览次数:30  
标签:分发 kids 饼干 int max candy candies 算法


package main

import "fmt"

func distributeCandies(candies []int, kids []int) []int {
    // 计算每个孩子可以得到的饼干数量
    max := 0
    for _, candy := range candies {
        if candy >= kids[0] {
            max = max + 1
        }
    }

    // 如果每个孩子可以得到的饼干数量小于等于 0,则返回空
    if max <= 0 {
        return []int{}
    }

    // 分配饼干
    result := make([]int, len(kids))
    for i := range kids {
        if kids[i] <= candies[0] {
            result[i] = kids[i]
        } else {
            result[i] = candies[0]
            for j := 1; j < len(candies); j++ {
                if kids[i] <= candies[j] {
                    result[i] += candies[j]
                    candies[j] = 0
                } else {
                    candies[j] -= kids[i] - candies[j]
                }
            }
        }
    }

    // 返回分配结果
    return result
}

func main() {
    candies := []int{3, 2, 1, 3}
    kids := []int{2, 1, 1, 2}
    result := distributeCandies(candies, kids)
    fmt.Println(result)
}



标签:分发,kids,饼干,int,max,candy,candies,算法
From: https://blog.51cto.com/love/7236443

相关文章

  • 串的匹配算法:Brute-Force 与 KMP
    目录串的匹配算法:Brute-Force与KMPBrute-Force(布鲁特-福斯)算法KMP算法参考文献串的匹配算法:Brute-Force与KMP串的匹配算法是求子串在主串位置的算法。本次介绍的算法是在指定了从主串特定位置后寻找第一个匹配字串的位置。在介绍算法前,先定义几个变量:主串S、字串T、要求......
  • 《算法笔记》树与二叉树专题练习
    1、复原二叉树(由前序和中序求后序)题目描述小明在做数据结构的作业,其中一题是给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。输入输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由不重复的大写......
  • 智能优化算法:250多种优化算法解决旅行商问题(TSP)-matlab版(有注释)
    250种算法有:参考链接:https://www.jianshu.com/p/1134e6e774c4?v=1692966423722[1]   人工蜜蜂优化算法       ArtificialBeeColony,ABC[2]   人工蜂鸟算法       artificialhummingbirdalgorithm,AHA[3]   蚁狮优化器   AntLionOptimizer(ALO)[......
  • 【能量检测】基于认知无线电的能量检测算法的matlab仿真
    1.软件版本matlab2021a2.本算法理论知识随着无线通信的快速发展,用户对通信质量的要求越来越高,同时无线设备的大幅度增长,使得频谱资源显得更加重要。认知无线电(CognitiveRadio,CR)技术被当作解决频谱资源紧张、提高频谱利用率的强有力的技术,是下一代通信技术的重要组成成分......
  • 智能优化算法:250+种优化算法解决旅行商问题(TSP)-matlab版
    250+种优化算法(全网最全)解决旅行商问题(TSP)-matlab版,获取链接:https://mbd.pub/o/works/483834250种算法有:[1]   人工蜜蜂优化算法       ArtificialBeeColony,ABC[2]   人工蜂鸟算法       artificialhummingbirdalgorithm,AHA[3]   蚁狮优化......
  • 基于SIFT算子的车标识别算法matlab仿真
    1.软件版本matlab2017b2.系统概述本系统分为定位部分(包括车牌的定位和车标的定位)和车标特征向量提取和识别部分。本文车标的定位是根据车牌和车标的先验知识,提出一种由粗到精的车标定位方法。首先通过成熟的车牌定位方法对车牌进行定位,再根据车牌与车标的相对位置可以估计......
  • 《落实算法安全主体责任基本情况》范文,修改主体即可提交
    在数字化时代,算法已经成为了商业竞争和创新的关键要素。然而,算法的广泛应用也引发了对其安全性和合规性的关切。《落实算法安全主体责任基本情况》作为算法备案过程中的一环,具有极高的专业性,需要企业全面考虑算法的隐私保护、数据合规、风险预防等一系列关键问题。正因如此,许多......
  • 文心一言 VS 讯飞星火 VS chatgpt (81)-- 算法导论7.4 6题
    六、如果用go语言,考虑对PARTITION过程做这样的修改:从数组A中随机选出三个元素,并用这三个元素的中位数(即这三个元素按大小排在中间的值)对数组进行划分。求以a的函数形式表示的、最坏划分比例为a:(1-a)的近似概率,其中0<a<1。文心一言:首先,我们需要实现一个函数来找到数组......
  • 算法模板
    快速幂intpower(inta,intb,intp){ intans=1%p; for(;b;b>>=1){ if(b&1)ans=(longlong)ans*a%p; a=(longlong)a*a%p; } returnans;}快速乘longlongmul(longlonga,longlongb,longlongp){longlongans=0;for(;b;b>>=1){......
  • Lnton羚通算法算力云平台在OpenCV-Python中如何图像修复 Image Inpainting
    OpenCVPython图像修复【理论】大多数人家里都会有一些旧照片,上面有一些黑点,一些笔画等。你想过把它修复回来吗?我们不能简单地在油漆工具中删除它们,因为它只会用白色结构取代黑色结构,这是没有用的。在这些情况下,使用一种称为图像修补的技术。基本的想法很简单:用邻近的像素替换......