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

Array ที่ไม่ลดลงใน Python


สมมติว่าเรามีอาร์เรย์ที่มีจำนวนเต็ม n ตัว หน้าที่ของเราคือตรวจสอบว่าอาร์เรย์นั้นไม่ลดลงโดยแก้ไขอย่างน้อยหนึ่งองค์ประกอบ เราสามารถกำหนดว่าอาร์เรย์ไม่ลดลงหากสอดคล้องกับกฎนี้:array[i] <=array[i + 1] สำหรับทุก ๆ i (1 <=i

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

  • หาก arr มีองค์ประกอบ 2 หรือน้อยกว่า ให้คืนค่า ture

  • ตอบ :=เท็จ

  • สำหรับฉันในช่วง 0 ถึงจำนวนองค์ประกอบใน arr – 2

    • ถ้า arr[i]> arr[i + 1]

      • ถ้า ans ไม่ใช่ 0 ให้คืนค่าเท็จ มิฉะนั้น ans :=True

      • ถ้าฉัน> 0

        • ถ้า arr[i - 1]> arr[i + 1] แล้ว arr[i + 1] :=arr[i]

  • คืนความจริง

ตัวอย่าง (Python)

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

class Solution(object):
   def checkPossibility(self, nums):
      if len(nums) <=2:
         return True
      ans = False
      for i in range(len(nums)-1):
         if nums[i] > nums[i+1]:
            if ans:
               return False
            else:
               ans = True
            if i>0:
               if nums[i-1] > nums[i+1]: nums[i+1] = nums[i]
      return True
ob1 = Solution()
print(ob1.checkPossibility([4,2,3,5]))

อินพุต

[4,2,3,5]

ผลลัพธ์

True