สมมติว่าเรามีรายการตัวเลขที่เรียกว่า 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