题目描述
思路
模拟
根据题意,模拟即可。
Python实现
class Solution:
def finalPrices(self, prices: List[int]) -> List[int]:
n = len(prices)
ans = [0] * n
for i, p in enumerate(prices):
discount = 0
for j in range(i+1, n):
if prices[j] <= p:
discount = prices[j]
break
ans[i] = p-discount
return ans
Java实现
class Solution {
public int[] finalPrices(int[] prices) {
int n = prices.length;
int[] ans = new int[n];
for (int i = 0; i < n; ++i) {
int discount = 0;
for (int j = i+1; j < n; ++j) {
if (prices[j] <= prices[i]) {
discount = prices[j];
break;
}
}
ans[i] = prices[i] - discount;
}
return ans;
}
}
C++实现
class Solution {
public:
vector<int> finalPrices(vector<int>& prices) {
int n = prices.size();
vector<int> ans;
for (int i = 0; i < n; ++i) {
int discount = 0;
for (int j = i+1; j < n; ++j) {
if (prices[j] <= prices[i]) {
discount = prices[j];
break;
}
}
ans.emplace_back(prices[i] - discount);
}
return ans;
}
};