From a9a22249a642aa475e030f43d03b5df0431effa8 Mon Sep 17 00:00:00 2001 From: Asilbek <77490263+Asilbek-MR@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:30:50 +0500 Subject: [PATCH] Update 155.md Bahodirov Asilbek --- solutions/155.md | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/solutions/155.md b/solutions/155.md index 3dc9580..1a5b5ac 100644 --- a/solutions/155.md +++ b/solutions/155.md @@ -1,17 +1,30 @@ # [name_of_problem_in_leetcode](link_to_problem_in_leetcode) - +1475. Final Prices With a Special Discount in a Shop **Difficulty:** :green_circle: Easy| :yellow_circle: Medium| :red_circle: Hard problem_here +You are given an integer array prices where prices[i] is the price of the ith item in a shop. -## Examples: +There is a special discount for items in the shop. If you buy the ith item, then you will receive a discount equivalent to prices[j] where j is the minimum index such that j > i and prices[j] <= prices[i]. Otherwise, you will not receive any discount at all. +Return an integer array answer where answer[i] is the final price you will pay for the ith item of the shop, considering the special discount. +## Examples: +Example 1: + +Input: prices = [8,4,6,2,3] +Output: [4,2,4,2,3] +Explanation: +For item 0 with price[0]=8 you will receive a discount equivalent to prices[1]=4, therefore, the final price you will pay is 8 - 4 = 4. +For item 1 with price[1]=4 you will receive a discount equivalent to prices[3]=2, therefore, the final price you will pay is 4 - 2 = 2. +For item 2 with price[2]=6 you will receive a discount equivalent to prices[3]=2, therefore, the final price you will pay is 6 - 2 = 4. +For items 3 and 4 you will not receive any discount at all. examples_here ## Constraints: contraints_here - +1 <= prices.length <= 500 +1 <= prices[i] <= 1000 ## Follow up: follow_if_any_here @@ -20,8 +33,18 @@ follow_if_any_here ## Solutions ### Name of solution - -```python +iterator solution +```def finalPrices(self, prices: List[int]) -> List[int]: + l = len(prices) + result = [] + for i in range(l): + for j in range(1,l): + if j > i and prices[i] >= prices[j]: + result.append(prices[i]-prices[j]) + break + else: + result.append(prices[i]) + return result ```