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

贪心算法 ——硬币兑换、区间调度、

硬币兑换:

from book:挑战程序设计竞赛


 思路:优先使用大面额兑换即可

package mainimport "fmt"func main() {results := []int{}//记录每一种数额的张数A := 620B := A//备份cnts := 0 //记录至少需要多少张nums := []int{1, 5, 10, 50, 100, 500}limits := []int{3, 2, 1, 3, 0, 2} //面额张数限制for i := len(nums) - 1; i >= 0; i-- {//nums_i 最多使用n张n := my_min(A/nums[i], limits[i])cnts += nresults = append(results, n)A -= nums[i] * n}fmt.Print("A:\n", B, "cnts:\n", cnts)fmt.Print(results)}func my_min(a, b int) int {if a < b {return a}return b
}


区间调度: 

 思路:

为了完成尽可能多的工作:需要i-1项工作尽可能的早结束,i项任务尽早的开始

http://www.lryc.cn/news/284439.html

相关文章:

  • 【已解决】namespace “Ui“没有成员 xxx
  • Spring Bean 生命周期的执行流程?
  • Android-三方框架的源码
  • AI嵌入式K210项目(15)-安全散列算法加速器
  • Docker Consul详解与部署示例
  • 内网安全管理系统(保密管理系统)
  • .NetCore Flurl.Http 4.0.0 以上管理客户端
  • openssl3.2 - 官方demo学习 - smime - smenc.c
  • 【EI会议征稿通知】第四届工业制造与结构材料国际学术会议(IMSM 2024)
  • mysql中建立一个用户,只能看到某个指定的数据库
  • 第2章 线程管理
  • 机器学习第二十六周周报 ARIMA Clustering model
  • 支持XP系统的最新firefox浏览器
  • Pytorch从零开始实战17
  • openssl3.2 - 官方demo学习 - signature - EVP_DSA_Signature_demo.c
  • vue2使用 element表格展开功能渲染子表格
  • 一个简单的ETCD GUI工具
  • vue2 使用pdf.js 实现pdf预览,并可复制文本
  • REPLACE INTO
  • idea 安装免费Ai工具 codeium
  • 关于C#中的Select与SelectMany方法
  • CentOS上安装Mellanox OFED
  • 无/自监督去噪(1)——一个变迁:N2N→N2V→HQ-SSL
  • 【24.1.19】
  • 使用mamba替换conda和anaconda配置环境安装软件
  • 鸿蒙开发系列教程(四)--ArkTS语言:基础知识
  • Pix2Pix理论与实战
  • [GN] 后端接口已经写好 初次布局前端需要的操作(例)
  • AIGC:人工智能驱动的数据分析新时代
  • Windows Qt C++ VTK 借助msys环境搭建