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

การเปลี่ยนทิศทางใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องหาจำนวนครั้งที่รายการเปลี่ยนจากความชันบวกเป็นลบหรือค่าลบเป็นบวก

ดังนั้น หากอินพุตเป็น [2, 4, 10, 18, 6, 11, 13] ผลลัพธ์จะเป็น 2 เนื่องจากจะเปลี่ยนทิศทางเป็น 10 (บวกเป็นลบ ) และจากนั้นที่ 6 (ลบเป็นบวก)

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

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

  • สำหรับฉันในช่วง 1 ถึงขนาดของ nums - 1 ทำ

    • ถ้า nums[i-1] nums[i+1] หรือ nums[i-1]> nums[i]

      • นับ :=นับ + 1

  • จำนวนคืน

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

ตัวอย่าง

class Solution:
   def solve(self, nums):
      count = 0
      for i in range(1, len(nums) - 1):
         if nums[i - 1] < nums[i] > nums[i + 1] or nums[i - 1] > nums[i] < nums[i + 1]:
            count += 1
      return count

ob = Solution()
print(ob.solve([2, 4, 10, 18, 6, 11, 13]))

อินพุต

[2, 4, 10, 18, 6, 11, 13]

ผลลัพธ์

2