Dada una array arr[] , la tarea es encontrar todos los subarreglos crecientes contiguos máximos en una array dada.
Ejemplos :
Entrada:
arr[] = { 80, 50, 60, 70, 40, 50, 80, 70 }
Salida:
80
50 60 70
40 50 80
70Entrada:
arr[] = { 10, 20, 23, 12, 5, 4, 61, 67, 87, 9 }
Salida:
10 20 23
12
5
4 61 67 87
9
Enfoque: iterar sobre la array y comparar cada elemento con su siguiente elemento vecino de modo que, si es menor que el siguiente elemento, imprímalo; de lo contrario, imprímalo individualmente en la siguiente línea.
A continuación se muestra la implementación del enfoque anterior.
C++
// C++ Implementation to print all the // Maximal Increasing Sub-array of array #include <bits/stdc++.h> using namespace std; // Function to print each of maximal // contiguous increasing subarray void printmaxSubseq(int arr[], int n) { int i; // Loop to iterate through the array and print // the maximal contiguous increasing subarray. for (i = 0; i < n; i++) { // Condition to check whether the element at i, is // greater than its next neighbouring element or not. if (arr[i] < arr[i + 1]) cout << arr[i] << " "; else cout << arr[i] << "\n"; } } // Driver function int main() { int arr[] = { 9, 8, 11, 13, 10, 15, 14, 16, 20, 5 }; int n = sizeof(arr) / sizeof(arr[0]); printmaxSubseq(arr, n); return 0; }
Java
// Java Implementation to print all the // Maximal Increasing Sub-array of array import java.util.*; class GFG { // Function to print each of maximal // contiguous increasing subarray static void printmaxSubseq(int arr[], int n) { int i; // Loop to iterate through the array and print // the maximal contiguous increasing subarray. for (i = 0; i < n ; i++) { // Condition to check whether the element at i, is // greater than its next neighbouring element or not. if (i + 1 < n && arr[i] < arr[i + 1]) System.out.print(arr[i] + " "); else System.out.print(arr[i] + "\n"); } } // Driver code public static void main(String[] args) { int arr[] = { 9, 8, 11, 13, 10, 15, 14, 16, 20, 5 }; int n = arr.length; printmaxSubseq(arr, n); } } // This code is contributed by 29AjayKumar
Python3
# Python3 Implementation to print all the # Maximal Increasing Sub-array of array # Function to print each of maximal # contiguous increasing subarray def printmaxSubseq(arr, n) : # Loop to iterate through the array and print # the maximal contiguous increasing subarray. for i in range(n - 1) : # Condition to check whether the element at i, is # greater than its next neighbouring element or not. if (arr[i] < arr[i + 1]) : print(arr[i], end = " "); else : print(arr[i]); print(arr[n - 1]); # Driver function if __name__ == "__main__" : arr = [ 9, 8, 11, 13, 10, 15, 14, 16, 20, 5 ]; n = len(arr); printmaxSubseq(arr, n); # This code is contributed by AnkitRai01
C#
// C# Implementation to print all the // Maximal Increasing Sub-array of array using System; class GFG { // Function to print each of maximal // contiguous increasing subarray static void printmaxSubseq(int []arr, int n) { int i; // Loop to iterate through the array and print // the maximal contiguous increasing subarray. for (i = 0; i < n ; i++) { // Condition to check whether the element at i, is // greater than its next neighbouring element or not. if (i + 1 < n && arr[i] < arr[i + 1]) Console.Write(arr[i] + " "); else Console.WriteLine(arr[i]); } } // Driver code public static void Main() { int []arr = { 9, 8, 11, 13, 10, 15, 14, 16, 20, 5 }; int n = arr.Length; printmaxSubseq(arr, n); } } // This code is contributed by AnkitRai01
Javascript
<script> // Javascript Implementation to print all the // Maximal Increasing Sub-array of array // Function to print each of maximal // contiguous increasing subarray function printmaxSubseq(arr, n) { let i; // Loop to iterate through the array and print // the maximal contiguous increasing subarray. for (i = 0; i < n; i++) { // Condition to check whether the element at i, is // greater than its next neighbouring element or not. if (arr[i] < arr[i + 1]) document.write(arr[i] + " "); else document.write(arr[i] + "<br>"); } } // Driver function let arr = [ 9, 8, 11, 13, 10, 15, 14, 16, 20, 5 ]; let n = arr.length; printmaxSubseq(arr, n); </script>
9 8 11 13 10 15 14 16 20 5
Complejidad de tiempo: O(n)
Publicación traducida automáticamente
Artículo escrito por epistler_999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA