Syntax error Program to replace each element by smallest term at left side in Python

Program to replace each element by smallest term at left side in Python



Suppose we have a list of numbers called nums, we have to replace every nums[i] with the smallest element left of i. We have to replace nums[0] with 0.

So, if the input is like [15, 7, 9, 16, 12, 25], then the output will be [0, 15, 7, 7, 7, 7]

To solve this, we will follow these steps −

  • if nums is empty, then
    • return a new list
  • j:= nums[0]
  • nums[0]:= 0
  • for i in range 1 to size of nums - 1, do
    • k:= nums[i]
    • nums[i]:= j
    • j:= minimum of j, k
  • return nums

Let us see the following implementation to get better understanding −

Example

 Live Demo

class Solution:
   def solve(self, nums):
      if not nums:
         return []
         j=nums[0]
         nums[0]=0
         for i in range(1,len(nums)):
            k=nums[i]
            nums[i]=j
            j=min(j,k)
         return nums
ob = Solution()
nums = [15, 7, 9, 16, 12, 25]
print(ob.solve(nums))

Input

[15, 7, 9, 16, 12, 25]

Output

[0, 15, 7, 7, 7, 7]
Updated on: 2020-10-06T06:19:25+05:30

249 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements