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

算法——贪心算法

《算法图解》——贪心算法

# 首先创建一个表,包含所覆盖的州
states_needed = set(['mt','wa','or','id','nv','ut','az']) # 传入一个数组,转换成一个集合#可供选择的广播台清单
stations = {}
stations['kone'] = set(['id','nv','ut']) #用集合表示想要覆盖的州,且不能包含重复元素
stations['ktwo'] = set(['wa','id','mt'])
stations['kthree'] = set(['or','nv','ca'])
stations['kfour'] = set(['nv','ut'])
stations['kfive'] = set(['ca','az'])#用一个集合来表示最后选择的广播台
final_stations = set()""" 计算答案 """#遍历所有广播台,计算覆盖最多未覆盖州的广播台while states_needed:best_station = Nonestates_coverd = set()for station, states in stations.items(): coverd = states_needed & states # 	求交集。if len(coverd) > len(states_coverd):  # coverd 包含在states_needed和states_for_station 中的州。检查该州是否比best_station覆盖的多。best_station = stationstates_coverd = coverdstates_needed -= states_coverdfinal_stations.add(best_station)	# 如果是就把best_station 设置为当前广播台print(final_stations)

输出结果:


相关文章:

  • Qt文件以及文件夹相关类(QDir、QFile、QFileInfo)的使用
  • 第七节:Vben Admin权限-后端获取路由和菜单
  • 使用Docker在windows上安装IBM MQ
  • Android 辅助功能 -抢红包
  • VUE3生命周期钩子
  • HCIA_IP路由基础问题?
  • SOPHON算能服务器SDK环境配置和相关库安装
  • 【代码】YOLOv8标注信息验证
  • Element UI +Vue页面生成二维码的方法
  • C++_day6:2024/3/18
  • AWS监控,AWS 性能监控工具
  • Apache Doris 2.1 核心特性 Variant 数据类型技术深度解析
  • Linux权限维持后门及应急响应
  • 我的自建博客之旅03之vuepress和Vitepress
  • 基于python智慧社区家政服务系统的设计与实现flask-django-nodejs-php
  • 【译】JS基础算法脚本:字符串结尾
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android框架之Volley
  • Django 博客开发教程 8 - 博客文章详情页
  • IDEA常用插件整理
  • Java多态
  • Linux后台研发超实用命令总结
  • pdf文件如何在线转换为jpg图片
  • Python实现BT种子转化为磁力链接【实战】
  • vuex 笔记整理
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 动态规划入门(以爬楼梯为例)
  • 前端之Sass/Scss实战笔记
  • 白色的风信子
  • 《天龙八部3D》Unity技术方案揭秘
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • # include “ “ 和 # include < >两者的区别
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (2)STL算法之元素计数
  • (31)对象的克隆
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (第一天)包装对象、作用域、创建对象
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (十一)c52学习之旅-动态数码管
  • (一)Java算法:二分查找
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (译) 函数式 JS #1:简介
  • (原創) 物件導向與老子思想 (OO)
  • (转)Windows2003安全设置/维护
  • (转)负载均衡,回话保持,cookie
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • *上位机的定义
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .Net 6.0 处理跨域的方式
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)