📜  添加给定的 n 个持续时间(1)

📅  最后修改于: 2023-12-03 14:56:07.984000             🧑  作者: Mango

添加给定的 n 个持续时间

当我们需要对多个时间进行累加或比较时,往往需要将它们转换成秒的形式进行处理。本文主要介绍如何将给定的 n 个持续时间转换成秒,并进行相关操作。

输入格式

输入为整数 n 和 n 个字符串,字符串表示一段持续时间,格式为 "hh:mm:ss",其中 "hh" 表示小时数,"mm" 表示分钟数,"ss" 表示秒数。输入满足 1 <= n <= 10000。

输出格式

输出为一个整数,表示 n 个持续时间的总秒数。

输入样例
3
01:02:03
03:04:05
05:06:07
输出样例
28140
解题思路

将每个持续时间转换成秒的形式,然后将其累加即可。

代码实现
def time_to_seconds(time_str):
    # 将 "hh:mm:ss" 形式的字符串转换成秒数
    h, m, s = map(int, time_str.split(':'))
    return h * 3600 + m * 60 + s

n = int(input())
total_seconds = 0
for i in range(n):
    time_str = input()
    total_seconds += time_to_seconds(time_str)
print(total_seconds)
复杂度分析

转换成秒的复杂度为 O(1),累加 n 个时间的复杂度为 O(n),因此总时间复杂度为 O(n)。空间复杂度为 O(1)。