Given a positive number N, efficiently generate all binary numbers between 1 to N.
Print all N-digit binary numbers with k-bits set where k ranges from 1 to N. Numbers with same number of bits set should be printed together and in ascending order.
Given a positive number n, find all strings of length n containing balanced parentheses.
Lexicographically minimal string rotation or lexicographically least circular substring is the problem of finding the rotation of a string possessing the lowest lexicographical order of all such rotations.
Given a string sorted in ascending order, find all lexicographically next permutations of it.
Given a string containing all distinct characters, find all permutations of it.
Given a string, find the longest substring of given string containing distinct characters.
Find all substrings of a string that contains all characters of another string. In other words, find all substrings of first string that are anagrams of second string.
Given a string, find all palindromic permutations of it.
Given a string and a positive number k, find the longest substring of given string containing k distinct characters. If k is more than number of distinct characters in the string, return the whole string.
Validate an IP address (IPv4). A valid IPv4 address must be in the form of XXX.XXX.XXX.XXX, where XXX is a number from 0-255.
Run length encoding (RLE) is a very simple form of lossless data compression which runs on sequences having same value occurring many consecutive times and it encode the sequence to store only a single value and its count.