算法二十一

等公交车

算法描述

  • 小明所在学校的自助餐厅2:30PM关门,他不想自己做饭,但又喜欢睡觉,为了在2:30之前赶到学校,他经常需要卡点赶公交
  • 从12:00开始,公交每10分钟一班,给出三个变量:offset代表时间零头,比如3就代表12:03,12:13,1:23等等时间点;walkingTime代表小明走到车站的时间(以分计);drivingTime代表汽车到学校所花的时间(以分计)
  • 需要计算出小明最迟的离家时间

参数定义

  • 类名 Cafeteria
  • 方法 latestTime
  • 输入参数 vector <int>, vector <int>, vector <int>
  • 输出 string
  • 方法声明 string latestTime(vector <int> offset, vector <int> walkingTime, vector <int> drivingTime)

限制条件

  • offset, walkingTimedrivingTime包含相同的元素个数,元素个数在[1,50]之间
  • offset中的每个元素在[0,9]之间
  • walkingTime中的每个元素在[1,30]之间
  • drivingTime中的每个元素在[1,300]之间

例子

  • 输入
    • offset:{9}
    • walkingTime:{1}
    • drivingTime:{1}
  • 输出
    • ”02:28”

测试实例

  • 实例一

    • 输入
      • {6}
      • {9}
      • {120}
    • 输出
      • ”12:17”
  • 实例二

    • 输入
      • {6,9}
      • {9,10}
      • {120,121}
    • 输出
      • ”12:19”
  • 实例三

    • 输入
      • {0,1,2,3,4,5,6,7,8,9}
      • {11,11,11,11,11,11,11,11,11,11}
      • {190,190,190,190,190,190,190,190,190,190}
    • 输出
      • ”11:09”
  • 实例四

    • 输入
      • {7,4,0,0,2,1,6,7,7,0,8,6,0,5,0,6,7,9,0,2,4,8,4,7, 9,2,4,4,3,1,4,5,8,8,2,5,7,8,7,5,6,8,8,0,1,3,5,0,8}
      • {26,14,1,4,16,28,16,6,4,5,21,18,5,2,21,21,28,22,5,22,26,16,14, 19,19,19,4,12,24,4,30,16,28,20,25,2,30,18,4,6,9,22,8,3,7,29,8,30,6}
      • {151,264,280,89,63,57,15,120,28,296,76,269,90,106,31,222, 291,52,102,73,140,248,44,187,76,49,296,106,54,119,54,283,263, 285,275,127,108,82,84,241,169,203,244,256,109,288,9,262,103}
    • 输出
      • ”02:07”
点赞