हमें एक सरणी दी गई है जिसमें पूर्णांक तत्व हैं और कार्य पहले दिए गए सरणी से सबएरे की गणना करना है और फिर जांचना है कि सबएरे में तत्व बढ़ते क्रम में हैं या नहीं। यदि हाँ, तो हम उप-सरणी पर विचार करेंगे अन्यथा इसे छोड़ दिया जाएगा।
यदि 0वें और 1वें स्थान के तत्व बढ़ते क्रम में नहीं हैं, तो उप-सरणी को और अधिक जाँचना बंद करने का तरीका यहाँ है।
उदाहरण के लिए- C++ में
इनपुट: int a[] ={1, 7, 5}
आउटपुट: सख्ती से बढ़ते उपसरणियों की संख्या है 1
स्पष्टीकरण - संभावित उप-सरणी में {1,7,5}, {1,7}, {7,5} शामिल हैं जहां {1,7} एकमात्र ऐसा सरणी है जो सख्ती से बढ़ते क्रम में है।
इनपुट: int a[] ={1, 2, 7, 10}
आउटपुट: सख्ती से बढ़ते उपसरणियों की संख्या 6 है
स्पष्टीकरण - संभावित उप-सरणी में {{1, 2}, {1, 2, 7}, {1, 2, 7, 10}, {2, 7}, {2, 7, 10} और {7, 10} और सभी शामिल हैं। सख्ती से बढ़ते क्रम में हैं।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
- एक सरणी घोषित की जाती है, तत्वों को इनपुट किया जाता है और डेटा को आगे की प्रक्रिया के लिए सरणी की लंबाई के साथ countIncSubarrays(a,a.length) नामक फ़ंक्शन में पास किया जाता है।
- फ़ंक्शन के अंदर एक काउंट फ़्लैग इनिशियलाइज़ करें।
- किसी सरणी की लंबाई 0 से i के लिए लूप प्रारंभ करें
- लूप के अंदर, i+1 से एक सरणी की लंबाई तक j के लिए एक और लूप प्रारंभ करें
- लूप के अंदर, जांचें कि क्या a[j], a[j-1] से बड़ा है और गिनती बढ़ाएं।
- अन्यथा लूप तोड़ दें क्योंकि बढ़ते ऑर्डर की जांच विफल हो जाती है।
- मुख्य फ़ंक्शन में परिणाम फ़ंक्शन कॉल से कैप्चर किया जाता है और आउटपुट के रूप में प्रिंट किया जाता है।
उदाहरण
import java.util.*; class testqwe { static int MAX = 4; static int a[] = new int[MAX]; static Scanner scan = new Scanner(System.in); static int countIncSubarrays(int a[], int n) { int count = 0; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { if (a[j] > a[j - 1]) count++; else break; } } return count; } public static void main(String[] args) { for (int i = 0; i < a.length; i++) { a[i] = scan.nextInt(); //1,2,7,0 } int result = countIncSubarrays(a, a.length); System.out.println("Count of strictly increasing subarrays is " + result); } }
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
आउटपुट
Count of strictly increasing subarrays is 6