小米-软件工程师-2022笔试题

手机运行时长

米小免新买了一台小米mix fold 2,配备8英寸大屏,骁龙8+处理器和12G内存,拥有强劲性指,后台可以轻松在同一时间运行多款App。假设当后台没有App在运行时,手机进入休眠,否叫手机处于运行状态
i个App的开始运行时间starti,运行结束时间endi,组成第i个App的运行区间intervals[i] =starti, endi].
数组intervals表示今天米小免的mix fold 2的各个App的运行区间的集合,求今天米小兔的手机行了多长时间

样例输入
1 3268 1015 18
样例输出
10

解答-个人思路、仅供参考(C++)

#include <iostream>
using namespace std;
#include <algorithm>
#include <vector>

int main() {
    int a, b;
    vector<pair<int, int>> vec;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        vec.push_back({a,b});
    }
    int sum = 0, start= vec[0].first, end=vec[0].second;
    for(int i=1; i< vec.size(); i++)
    {
        if(vec[i].first > end)
        {
            sum += end -start;
            start = vec[i].first;
            end = vec[i].second;
        }
        else {
        end = vec[i].second;
        }
    }
    sum += end-start;
    cout << sum;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值