Cada estado está representado por una string de longitud 2. Por ejemplo , DL se usa para Delhi , HP para Himachal Pradesh , UP para Uttar Pradesh , PB para Punjab , etc. número de códigos de estado distintos que aparecen en la string como substrings contiguas. Ejemplos:
Entrada: str = “UPBRC”
Salida: 4
UP, PB, BR y RC son 4 códigos de estado diferentes que aparecen en la string como substrings contiguas.
Entrada: str = “UPUP”
Salida: 2
UP y PU son los únicos códigos de estado que aparecen en la string dada.
Enfoque: almacene cada substring de longitud 2 en un conjunto y finalmente devuelva el tamaño del conjunto, que es el número requerido de códigos de estado distintos que aparecen en la string dada como substrings.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function to return the count of // distinct state codes int countDistinctCode(string str) { set<string> codes; for (int i = 0; i < str.length() - 1; i++) // Insert every sub-string // of length 2 in the set codes.insert(str.substr(i, 2)); // Return the size of the set return codes.size(); } // Driver code int main() { string str = "UPUP"; cout << countDistinctCode(str); return 0; }
Java
// Java implementation of the above approach. import java.util.*; class GFG { // Function to return the count of // distinct state codes static int countDistinctCode(String str) { Set<String> codes = new HashSet<>(); for (int i = 0; i < str.length() - 1; i++) // Insert every sub-String // of length 2 in the set codes.add(str.substring(i, i + 2)); // Return the size of the set return codes.size(); } // Driver code public static void main(String[] args) { String str = "UPUP"; System.out.println(countDistinctCode(str)); } } // This code has been contributed by 29AjayKumar
Python3
# Python3 implementation of the approach # Function to return the count of # distinct state codes def countDistinctCode(string): codes = set() for i in range(0, len(string) - 1): # Insert every sub-string # of length 2 in the set codes.add(string[i:i + 2]) # Return the size of the set return len(codes) # Driver code if __name__ == "__main__": string = "UPUP" print(countDistinctCode(string)) # This code is contributed # by Rituraj Jain
C#
// C# implementation of the above approach. using System; using System.Collections.Generic; class GFG { // Function to return the count of // distinct state codes static int countDistinctCode(String str) { HashSet<String> codes = new HashSet<String>(); for (int i = 0; i < str.Length - 1; i++) // Insert every sub-String // of length 2 in the set codes.Add(str.Substring(i,2)); // Return the size of the set return codes.Count; } // Driver code public static void Main(String []args) { String str = "UPUP"; Console.Write(countDistinctCode(str)); } } // This code has been contributed by Arnab Kundu
Javascript
<script> // Javascript implementation of the // above approach // Function to return the count of // distinct state codes function countDistinctCode(str) { var codes = new Set(); for (var i = 0; i < str.length - 1; i++) // Insert every sub-string // of length 2 in the set codes.add(str.substr(i, 2)); // Return the size of the set return codes.size; } // Driver code var str = "UPUP"; document.write(countDistinctCode(str)) // This code is contributed by ShubhamSingh10 </script>
2