मान लीजिए, हमारे पास एक सरणी है जिसमें कई पूर्णांक संख्याएँ हैं। हम संख्याओं के दिए गए सरणी से सभी सन्निहित उप-सरणी का पता लगाते हैं और इसे दूसरी सूची में डालते हैं। अब, हम प्रत्येक उप-सरणी को उस उप-सरणी में अधिकतम तत्व से प्रतिस्थापित करते हैं। हमें एक संख्या k भी दी गई है, और हमें यह पता लगाना है कि अब दी गई संख्या से कितने उप-सरणी बड़े हैं।
इसलिए, यदि इनपुट input_array =[5, 6, 7, 8], k =7 जैसा है, तो आउटपुट 4
होगा।दिए गए इनपुट ऐरे से सन्निहित उप-सरणी हैं:{5}, {6}, {7}, {8}, {5, 6}, {6, 7}, {7, 8}, {5, 6, 7 }, {6, 7, 8}, {5, 6, 7, 8}
यदि हम उप-सरणी में अधिकतम तत्व के साथ अद्यतन करते हैं, तो उप-सरणी बन जाती है -
{5}, {6}, {7}, {8}, {6}, {7}, {8}, {7}, {8}, {8}।
ऐसे 4 सेट हैं जहां तत्व 7 से बड़ा है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- गिनती :=0
- लगातार :=0
- इनपुट_एरे में प्रत्येक x के लिए, करें
- यदि x> k, तो
- लगातार :=0
- अन्यथा,
- लगातार :=लगातार + 1
- गिनती :=गिनती + लगातार
- यदि x> k, तो
input_array का रिटर्न साइज * फ्लोर वैल्यू ((इनपुट_एरे का आकार + 1)/2) - काउंट
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(input_array, k): count = 0 consecutive = 0 for x in input_array: if x > k: consecutive = 0 else: consecutive += 1 count += consecutive return len(input_array) * (len(input_array) + 1) // 2 - count print(solve([5, 6, 7, 8], 7))
इनपुट
[5, 6, 7, 8], 7
आउटपुट
4