给出若干租持仓开始时间 持仓结束时间,求持仓总时间
时间: 2023-11-14 09:13:10 浏览: 43
这道题可以用以下方法解决:
1. 将所有的租持仓开始时间和持仓结束时间分别存入两个列表中。
2. 对这两个列表分别进行排序。
3. 定义一个变量total_time记录持仓总时间,初始值为0。
4. 使用两个指针分别指向开始时间和结束时间的列表,从头开始遍历这两个列表。
5. 比较当前指针指向的时间,如果开始时间小于等于结束时间,则说明存在一段时间段是持仓状态,此时更新total_time为总时间加上这段时间的差值(结束时间减去开始时间),并将开始时间指针往后移动一位。否则,说明当前时间段不是持仓状态,将结束时间指针往后移动一位。
6. 不断重复步骤5,直到其中一个指针到达列表末尾。
7. 最后,total_time即为持仓总时间。
Python代码实现如下:
```python
def total_hold_time(start_times, end_times):
start_times.sort()
end_times.sort()
i, j = 0, 0
total_time = 0
while i < len(start_times) and j < len(end_times):
if start_times[i] <= end_times[j]:
total_time += end_times[j] - start_times[i]
i += 1
else:
j += 1
return total_time
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)