第一题
先算出每个任务花了几个单位时间,再找出最用时最长的任务,并返回那个任务的员工的 id
class Solution {
public:
int hardestWorker(int n, vector<vector<int>>& logs) {
vector<int> a;
int l = logs.size();
a.push_back(logs[0][1]);
for(int i = 1 ; i < l ; i ++)
{
// cout << logs[i][1] << endl;
int w = logs[i][1] - logs[i - 1][1];
a.push_back(w);
}
// for(auto x : a)cout << x << endl;
int qq = 0;
int pp = 0;
for(int i = 0 ; i < l ; i ++)
{
if(a[i] > qq)
{
qq = a[i];
pp = logs[i][0];
}
else if(a[i] == qq)
{
pp = min(pp , logs[i][0]);
}
}
// cout << qq << " " << pp << endl;
return pp;
}
};
第二题
直接模拟题意即可
class Solution {
public:
vector<int> findArray(vector<int>& pref) {
vector<int> arr(pref.size());
arr[0] = pref[0];
for (int i = 1; i < pref.size(); i++) {
arr[i] = pref[i - 1] ^ pref[i];
}
return arr;
}
};