Skip to content

Commit 23c90e8

Browse files
refactor 1357
1 parent f24dcb8 commit 23c90e8

File tree

1 file changed

+0
-46
lines changed

1 file changed

+0
-46
lines changed

src/main/java/com/fishercoder/solutions/_1357.java

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -3,52 +3,6 @@
33
import java.util.HashMap;
44
import java.util.Map;
55

6-
/**
7-
* 1357. Apply Discount Every n Orders
8-
*
9-
* There is a sale in a supermarket, there will be a discount every n customer.
10-
* There are some products in the supermarket where the id of the i-th product is products[i] and the price per unit of this product is prices[i].
11-
* The system will count the number of customers and when the n-th customer arrive he/she will have a discount on the bill.
12-
* (i.e if the cost is x the new cost is x - (discount * x) / 100). Then the system will start counting customers again.
13-
* The customer orders a certain amount of each product where product[i] is the id of the i-th product the customer ordered and
14-
* amount[i] is the number of units the customer ordered of that product.
15-
*
16-
* Implement the Cashier class:
17-
* Cashier(int n, int discount, int[] products, int[] prices) Initializes the object with n, the discount, the products and their prices.
18-
* double getBill(int[] product, int[] amount) returns the value of the bill and apply the discount if needed. Answers within 10^-5 of the actual value will be accepted as correct.
19-
*
20-
* Example 1:
21-
* Input
22-
* ["Cashier","getBill","getBill","getBill","getBill","getBill","getBill","getBill"]
23-
* [[3,50,[1,2,3,4,5,6,7],[100,200,300,400,300,200,100]],[[1,2],[1,2]],[[3,7],[10,10]],[[1,2,3,4,5,6,7],[1,1,1,1,1,1,1]],[[4],[10]],[[7,3],[10,10]],[[7,5,3,1,6,4,2],[10,10,10,9,9,9,7]],[[2,3,5],[5,3,2]]]
24-
* Output
25-
* [null,500.0,4000.0,800.0,4000.0,4000.0,7350.0,2500.0]
26-
* Explanation
27-
* Cashier cashier = new Cashier(3,50,[1,2,3,4,5,6,7],[100,200,300,400,300,200,100]);
28-
* cashier.getBill([1,2],[1,2]); // return 500.0, bill = 1 * 100 + 2 * 200 = 500.
29-
* cashier.getBill([3,7],[10,10]); // return 4000.0
30-
* cashier.getBill([1,2,3,4,5,6,7],[1,1,1,1,1,1,1]); // return 800.0, The bill was 1600.0 but as this is the third customer, he has a discount of 50% which means his bill is only 1600 - 1600 * (50 / 100) = 800.
31-
* cashier.getBill([4],[10]); // return 4000.0
32-
* cashier.getBill([7,3],[10,10]); // return 4000.0
33-
* cashier.getBill([7,5,3,1,6,4,2],[10,10,10,9,9,9,7]); // return 7350.0, Bill was 14700.0 but as the system counted three more customers, he will have a 50% discount and the bill becomes 7350.0
34-
* cashier.getBill([2,3,5],[5,3,2]); // return 2500.0
35-
*
36-
*
37-
* Constraints:
38-
* 1 <= n <= 10^4
39-
* 0 <= discount <= 100
40-
* 1 <= products.length <= 200
41-
* 1 <= products[i] <= 200
42-
* There are not repeated elements in the array products.
43-
* prices.length == products.length
44-
* 1 <= prices[i] <= 1000
45-
* 1 <= product.length <= products.length
46-
* product[i] exists in products.
47-
* amount.length == product.length
48-
* 1 <= amount[i] <= 1000
49-
* At most 1000 calls will be made to getBill.
50-
* Answers within 10^-5 of the actual value will be accepted as correct.
51-
* */
526
public class _1357 {
537
public static class Solution1 {
548
public static class Cashier {

0 commit comments

Comments
 (0)