Đề bài
Add up the prices in the cart. If the total is at least discount_threshold, take discount_percent percent off the whole total.
Implement cart_total(prices, discount_threshold, discount_percent).
Input
prices: The item prices. discount_threshold: The total that unlocks the discount. discount_percent: The discount in percent.
Output
Return the amount to pay.
Ràng buộc
0 ≤ length ≤ 1,000; 0 ≤ each price ≤ 100,000; 0 ≤ discount_percent ≤ 100
Ví dụ
Đầu vào:
prices = [40, 35, 25]
discount_percent = 10
discount_threshold = 100
Kết quả mong đợi:
expected = 90.0
Đầu vào:
std::vector<long long> prices = {40, 35, 25};
long long discount_percent = 10;
long long discount_threshold = 100;
Kết quả mong đợi:
double expected = 90.0;
Đầu vào:
long[] prices = new long[] {40, 35, 25};
long discount_percent = 10;
long discount_threshold = 100;
Kết quả mong đợi:
double expected = 90.0;
Giải thích
The total is 100, which reaches the threshold, so 10% off: 90.
Đầu vào:
prices = [20, 30]
discount_percent = 10
discount_threshold = 100
Kết quả mong đợi:
expected = 50.0
Đầu vào:
std::vector<long long> prices = {20, 30};
long long discount_percent = 10;
long long discount_threshold = 100;
Kết quả mong đợi:
double expected = 50.0;
Đầu vào:
long[] prices = new long[] {20, 30};
long discount_percent = 10;
long discount_threshold = 100;
Kết quả mong đợi:
double expected = 50.0;
Giải thích
The total 50 is below 100, so no discount: 50.
Hướng tiếp cận
Hãy tự thử trước, sau đó mở từng gợi ý một.
Gợi ý 1
First find the cart total before any discount.
Gợi ý 2
Apply the percentage reduction only when the total reaches the threshold.
Gợi ý 3
Make sure the discount is taken from the whole order, not item by item.
Độ phức tạp mong đợi
O(n) time, O(1) extra space
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.