Count of possible subarrays and subsequences using given length of Array

Given an integer N which denotes the length of an array, the task is to count the number of subarray and subsequence possible with the given length of the array.

Examples:

Input: N = 5
Output:
Count of subarray = 15
Count of subsequence = 32

Input: N = 3
Output:
Count of subarray = 6
Count of subsequence = 8

Approach: The key observation fact for the count of the subarray is the number of ends position possible for each index elements of the array can be (N – i), Therefore the count of the subarray for an array of size N can be:



Count of Sub-arrays = (N) * (N + 1)
                     ---------------
                            2

The key observation fact for the count of the subsequence possible is each element of the array can be included in a subsequence or not. Therefore, the choice for each element is 2.

Count of subsequences = 2N

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation to count
// the subarray and subsequence of
// given length of the array
#include <bits/stdc++.h>
using namespace std;
  
// Function to count the subarray
// for the given array
int countSubarray(int n){
    return ((n)*(n + 1))/2;
}
  
// Function to count the subsequence
// for the given array length
int countSubsequence(int n){
    return pow(2, n);
}
  
// Driver Code
int main()
{
    int n = 5;
    cout << (countSubarray(n)) << endl;
    cout << (countSubsequence(n)) << endl;
    return 0;
}
  
// This code is contributed by mohit kumar 29

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java implementation to count
// the subarray and subsequence of
// given length of the array
class GFG{
   
// Function to count the subarray
// for the given array
static int countSubarray(int n){
    return ((n)*(n + 1))/2;
}
   
// Function to count the subsequence
// for the given array length
static int countSubsequence(int n){
    return (int) Math.pow(2, n);
}
   
// Driver Code
public static void main(String[] args)
{
    int n = 5;
    System.out.print((countSubarray(n)) +"\n");
    System.out.print((countSubsequence(n)) +"\n");
}
}
   
// This code is contributed by Princi Singh

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python implementation to count
# the subarray and subsequence of
# given length of the array
  
# Function to count the subarray
# for the given array 
def countSubarray(n):
    return ((n)*(n + 1))//2
      
# Function to count the subsequence
# for the given array length
def countSubsequence(n):
    return (2**n)
  
# Driver Code    
if __name__ == "__main__":
    n = 5
    print(countSubarray(n))
    print(countSubsequence(n))

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# implementation to count
// the subarray and subsequence of
// given length of the array
using System;
  
class GFG{
    
// Function to count the subarray
// for the given array
static int countSubarray(int n){
    return ((n)*(n + 1))/2;
}
    
// Function to count the subsequence
// for the given array length
static int countSubsequence(int n){
    return (int) Math.Pow(2, n);
}
    
// Driver Code
public static void Main(String[] args)
{
    int n = 5;
    Console.Write((countSubarray(n)) +"\n");
    Console.Write((countSubsequence(n)) +"\n");
}
}
  
// This code is contributed by Rajput-Ji

chevron_right


Output:

15
32

competitive-programming-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.