| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 数据结构与算法 -> 贪婪算法 python实现(未注释) 21.10.3 -> 正文阅读 |
|
|
[数据结构与算法]贪婪算法 python实现(未注释) 21.10.3 |
states_needed = set( ["mt", "wa", "or", "id", "nv", "ut", "ca", "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_cover = set( )
best_station = None
for station,state_station in stations.items():
cover=states_needed & state_station
if len(cover)>len(best_cover):
best_cover=cover
best_station=station
final_stations.add(best_station)
states_needed-=best_cover
print(final_stations)
集合,列表,字典属于可变数据类型,其余不可变,也就是使用函数改变时,实际上不能被改变 做成函数的报错点:states_needed-=best_cover 经测试,可以做任何操作除了这个,因为左值问题!所以加一个globe就行 第二版: def serach():
global states_needed
while states_needed:
best_cover = set( )
best_station = None
for station,state_station in stations.items():
cover=states_needed & state_station
if len(cover)>len(best_cover):
best_cover=cover
best_station=station
final_stations.add(best_station)
states_needed-=best_cover
print(final_stations)
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/24 8:32:38- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |