# Number of substrings of a string

• Difficulty Level : Easy
• Last Updated : 02 Sep, 2021

Find total number of non-empty substrings of a string with N characters.

Input : str = “abc”
Output : 6
Every substring of the given string : “a”, “b”, “c”, “ab”, “bc”, “abc”

Input : str = “abcd”
Output : 10
Every substring of the given string : “a”, “b”, “c”, “d”, “ab”, “bc”, “cd”, “abc”, “bcd” and “abcd”

Count of non-empty substrings is n*(n+1)/2
If we include empty string also as substring, the count becomes n*(n+1)/2 + 1

How does above formula work?

1. Number of substrings of length one is n (We can choose any of the n characters)
2. Number of substrings of length two is n-1 (We can choose any of the n-1 pairs formed by adjacent)
3. Number of substrings of length three is n-2
(We can choose any of the n-2 triplets formed by adjacent)
4. In general, number of substrings of length k is n-k+1 where 1 <= k <= n

Total number of substrings of all lengths from 1 to n =
n + (n-1) + (n-2) + (n-3) + … 2 + 1
= n * (n + 1)/2

## C++

 // CPP program to count number of substrings // of a string #include using namespace std;   int countNonEmptySubstr(string str) {    int n = str.length();    return n*(n+1)/2; }   // driver code int main() {     string s = "abcde";     cout << countNonEmptySubstr(s);     return 0; }

## Java

 // Java program to count number of substrings // of a string import java.io.*;   public class GFG {           static int countNonEmptySubstr(String str)     {         int n = str.length();         return n * (n + 1) / 2;     }           // Driver code     public static void main(String args[])     {         String s = "abcde";         System.out.println(                   countNonEmptySubstr(s));     } }   // This code is contributed // by Manish Shaw (manishshaw1)

## Python3

 # Python3 program to count number # of substrings of a string   def countNonEmptySubstr(str):     n = len(str);     return int(n * (n + 1) / 2);   # driver code s = "abcde"; print (countNonEmptySubstr(s));   # This code is contributed by # Manish Shaw (manishshaw1)

## C#

 // C# program to count number // of substrings of a string using System; class GFG {           static int countNonEmptySubstr(string str)     {         int n = str.Length;         return n * (n + 1) / 2;     }           // Driver Code     public static void Main()     {         string s = "abcde";         Console.Write(countNonEmptySubstr(s));     } }   // This code is contributed // by Manish Shaw (manishshaw1)



## Javascript



Output:

15

https://youtu.be/9QxJo

-g0cMA

My Personal Notes arrow_drop_up
Recommended Articles
Page :