算法导论程序7--在线雇佣问题(Python)
来源:互联网 发布:ug电极编程绘图 编辑:程序博客网 时间:2024/05/17 15:59
在面试一个应聘者之后,我们能够给每人一个分数score。在面试过j个人之后,我们知道这j个人中的最高分,但是不知道后面的n-j个会不会有最高的。
我们决定采取如下策略:
选择一个正整数k<n。面试然后拒绝前k个应聘者,再雇佣其后比前面的应聘者有更高分数的第一个应聘者。
如果最高得分的应聘者在前k个应聘者。我们将雇佣第n个应聘者。
class Assitant: def __init__(self,a_name="anonymous",value=0): self.name = a_name self.score = valuedef on_line_maximum(k,assList): n = len(assList) bestscore = float("-inf") for i in range(k): if assList[i].score > bestscore: bestscore = assList[i].score for i in range(k,n): if assList[i].score > bestscore: return assList[i] return assList[n-1]
运行:
>>> assList = [Assitant("dawei",16),Assitant("weimin",18),Assitant("peifang",36),Assitant("sunli",12),Assitant("shaoyun",99),Assitant("yuzheng",78)]>>> people = on_line_maximum(3,assList)>>> people.name'shaoyun'
0 0
- 算法导论程序7--在线雇佣问题(Python)
- 算法导论程序5--雇佣问题(Python)
- 算法导论学习笔记-5.1 雇佣问题
- 算法导论第五章5.1雇佣问题课后答案研究
- 基于visual Studio2013解决算法导论之003雇佣问题
- 算法导论程序3--最大子数组问题(Python)
- 在线雇佣问题(onlineMaximumHireAssistant)-c++代码实现
- 算法导论程序8--堆(Python)
- 算法导论程序16--基数排序(Python)
- 算法导论程序21--链表(Python)
- 算法导论程序6--随机算法(Python)
- 算法导论程序11--堆排序算法(Python)
- 算法导论程序40--贪心算法(活动选择问题)
- 算法导论程序1--插入排序(Python+Java)
- 算法导论程序2--归并排序(Python)
- 算法导论程序10--建堆(Python)
- 算法导论程序12--优先队列(Python)
- 算法导论程序13-快速排序的描述(Python)
- windows+wireshark抓Android和ios http协议
- Spring 整合 Redis
- 【转】 用Qt Creator编译opencv并配置开发环境
- Jquery对当前系统时间和用户输入时间的比较
- 在应用中更新App版本
- 算法导论程序7--在线雇佣问题(Python)
- android全屏/沉浸式状态栏下,各种键盘挡住输入框解决办法
- Touch ID指纹识别功能
- 各位站长注意了,服务器对SEO的影响日益增大
- junit测试(win与linux环境)
- 使用CentOS7 ISO镜像作为yum安装源
- webService理解
- 网络编程 java
- oracle数据库表结构及数据的导出