zoukankan      html  css  js  c++  java
  • 雇佣问题

    一.

     1 #根据给定的应聘者列表,得出最好的应聘者
     2 def hire_assistant(assList):
     3     n = len(assList)
     4     best = 0
     5     index = 0
     6     for i in range(n):
     7         value = assList[i].score
     8         if value > best:
     9             best = value
    10             index = i
    11     return assList[index]
    12 
    13 # 定义一个应聘者的类,给出他的属性score和name
    14 class Assistant:
    15     def __init__(self, a_name="anonymous", value=0):
    16         self.name = a_name
    17         self.score = value
    18 
    19 assList=[Assistant("A",12),Assistant("B",13),Assistant("C",8),Assistant("D",10),Assistant("E",22),Assistant("F",21)]
    20 print(hire_assistant(assList).name)
    21 -------------------------------------------------
    22 E
    雇佣问题

    二.

     

     1 #平衡最小化面试次数和最大化应聘者质量
     2 def on_line_maximum(k,assList):
     3     n = len(assList)
     4     bestscore = float("-inf")#最好的分数
     5     #先搜寻前k个中分数最高的
     6     for i in range(k):
     7         if assList[i].score > bestscore:
     8             bestscore = assList[i].score
     9     #对于后面的,如果有更高分数的,立即选择,否则选择最后一个
    10     for i in range(k,n):
    11         if assList[i].score > bestscore:
    12             return assList[i]
    13     return assList[n-1]
    14 
    15 assList=[Assistant("A",12),Assistant("B",13),Assistant("C",8),Assistant("D",10),Assistant("E",22),Assistant("F",21)]
    16 assistant = on_line_maximum(3, assList)
    17 print(assistant.name)
    18 ----------------------------------
    19 E
    hire-assistant
  • 相关阅读:
    online_judge_1489
    MybatisPlus 快速开始
    Markdown 基本语法
    python2与python3的区别(1)
    这是我的第一篇博客
    vue 渲染函数&jsx
    计算机进行小数运算出错的原因0.2 + 0.1 = 0.30000000000000004
    最流行的高级语言
    v-cli脚手架
    vue mixins组件复用的几种方式
  • 原文地址:https://www.cnblogs.com/yu-liang/p/9169063.html
Copyright © 2011-2022 走看看