现在有n个人排队买票,已知是早上8点开始卖票,这n个人买票有两种方式: 第一种是每一个人都可以单独去买自己的票,第 i 个人花费 a[i] 秒。 第二种是每一个人都可以选择和自己后面的人一起买票,第 i 个人和第 i+1 个人一共花费 b[i] 秒。 最后一个人只能和前面的人一起买票或单独买票。 由于卖票的地方想早些关门,所以他想知道他最早几点可以关门,请输出一个时间格式形如:08:00:40 am/pm 时间的数字要保持 2 位,若是上午结束,是 am ,下午结束是 pm-笔试面试资料

这是qklbishe.com第6050 篇笔试面试资料
提供答案分析,通过本文《现在有n个人排队买票,已知是早上8点开始卖票,这n个人买票有两种方式: 第一种是每一个人都可以单独去买自己的票,第 i 个人花费 a[i] 秒。 第二种是每一个人都可以选择和自己后面的人一起买票,第 i 个人和第 i+1 个人一共花费 b[i] 秒。 最后一个人只能和前面的人一起买票或单独买票。 由于卖票的地方想早些关门,所以他想知道他最早几点可以关门,请输出一个时间格式形如:08:00:40 am/pm 时间的数字要保持 2 位,若是上午结束,是 am ,下午结束是 pm-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

现在有n个人排队买票,已知是早上8点开始卖票,这n个人买票有两种方式:

第一种是每一个人都可以单独去买自己的票,第 i 个人花费 a[i] 秒。

第二种是每一个人都可以选择和自己后面的人一起买票,第 i 个人和第 i+1 个人一共花费 b[i] 秒。

最后一个人只能和前面的人一起买票或单独买票。

由于卖票的地方想早些关门,所以他想知道他最早几点可以关门,请输出一个时间格式形如:08:00:40 am/pm

时间的数字要保持 2 位,若是上午结束,是 am ,下午结束是 pm

现在有n个人排队买票,已知是早上8点开始卖票,这n个人买票有两种方式:      第一种是每一个人都可以单独去买自己的票,第 i 个人花费 a[i] 秒。      第二种是每一个人都可以选择和自己后面的人一起买票,第 i 个人和第 i+1 个人一共花费 b[i] 秒。      最后一个人只能和前面的人一起买票或单独买票。      由于卖票的地方想早些关门,所以他想知道他最早几点可以关门,请输出一个时间格式形如:08:00:40 am/pm      时间的数字要保持 2 位,若是上午结束,是 am ,下午结束是 pm 零葬
直接用动态规划模拟买票的过程,但是要注意a中只有一个元素的情况,此时b会输入个空串,贼坑!
T = int(input()) while T:     str_n = input()     if not str_n:         continue     n = int(str_n)     a = list(map(int, input().split()))     if len(a) == 1:         h = a[0] // 3600 + 8       # 小时         m = a[0] % 3600 // 60      # 分钟         s = a[0] % 60              # 秒     else:         b = list(map(int, input().split()))         # f[i]为到第i个人为止,一共花费了多长时间         f = [0]*n         f[0] = a[0]         f[1] = min(f[0] + a[1], b[0])         for i in range(2, n):             # 比较第i个人单独买票和与第i-1个人一起买票的时间,选择用时少的             f[i] = min(f[i - 1] + a[i], f[i - 2] + b[i - 1])         h = f[-1] // 3600 + 8       # 小时         m = f[-1] % 3600 // 60      # 分钟         s = f[-1] % 60              # 秒     is_am = True     if h > 12:         h -= 12         is_am = False     am_or_pm = "am" if is_am else "pm"     print("%02d:%02d:%02d %s" % (h, m, s, am_or_pm))     T -= 1

2021-01-16 22:43:13 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 现在有n个人排队买票,已知是早上8点开始卖票,这n个人买票有两种方式: 第一种是每一个人都可以单独去买自己的票,第 i 个人花费 a[i] 秒。 第二种是每一个人都可以选择和自己后面的人一起买票,第 i 个人和第 i+1 个人一共花费 b[i] 秒。 最后一个人只能和前面的人一起买票或单独买票。 由于卖票的地方想早些关门,所以他想知道他最早几点可以关门,请输出一个时间格式形如:08:00:40 am/pm 时间的数字要保持 2 位,若是上午结束,是 am ,下午结束是 pm-笔试面试资料

提供最优质的资源集合

立即查看 了解详情