题目:2073. 买票需要的时间
思路:在k前面的人,最多排tickets[k]次。在k后面的人,最多排tickets[k]-1次。
C++版本:
class Solution {
public:
int timeRequiredToBuy(vector<int>& tickets, int k) {
int ans=tickets[k];
for(int i=0;i<k;i++){
ans+=min(tickets[i],tickets[k]);
}
for(int i=k+1;i<tickets.size();i++){
ans+=min(tickets[i],tickets[k]-1);
}
return ans;
}
};
JAVA版本:
class Solution {
public int timeRequiredToBuy(int[] tickets, int k) {
int ans=tickets[k];
for(int i=0;i<k;i++){
ans+=Math.min(tickets[i],tickets[k]);
}
for(int i=k+1;i<tickets.length;i++){
ans+=Math.min(tickets[i],tickets[k]-1);
}
return ans;
}
}