Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมแทนที่แต่ละองค์ประกอบด้วยพจน์ที่เล็กที่สุดทางด้านซ้ายใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องแทนที่ทุก ๆ nums[i] ด้วยองค์ประกอบที่เล็กที่สุดที่เหลืออยู่ของ i เราต้องแทนที่ nums[0] ด้วย 0

ดังนั้น หากอินพุตเป็น [15, 7, 9, 16, 12, 25] เอาต์พุตจะเป็น [0, 15, 7, 7, 7, 7]

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า nums ว่างเปล่าก็
    • คืนรายการใหม่
  • j:=nums[0]
  • nums[0]:=0
  • สำหรับฉันในช่วง 1 ถึงขนาดของ nums - 1 ทำ
    • k:=nums[i]
    • nums[i]:=j
    • j:=ขั้นต่ำของ j, k
  • หมายเลขส่งคืน

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

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))

อินพุต

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

ผลลัพธ์

[0, 15, 7, 7, 7, 7]