मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, हमें यह पता लगाना होगा कि सूची सकारात्मक-से-नकारात्मक या नकारात्मक-से-सकारात्मक ढलान में कितनी बार बदलती है।
इसलिए, यदि इनपुट [2, 4, 10, 18, 6, 11, 13] जैसा है, तो आउटपुट 2 होगा, क्योंकि यह 10 पर दिशा बदलता है (सकारात्मक-से-नकारात्मक) ), और फिर 6 (नकारात्मक-से-सकारात्मक) पर।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
मेरे लिए 1 से लेकर अंकों के आकार -1 तक, करें
-
यदि अंक [i-1] <अंक [i]> अंक [i+1] या अंक [i-1]> अंक [i] <अंक [i+1], तो
-
गिनती :=गिनती + 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