Don't miss out! Register for a free Masterclass before you go
You have been successfully registered for the event!
Join our WhatsApp group for free learning material and session link.
How OTT Platforms Handle Millions of Concurrent Viewers Using HLD
By Pragy Agarwal, Senior Software Engineer
02:00 PM 22 April 2025
Certificate included
What will you Learn?
Understand how big streaming platforms are able to scale to millions of concurrent users
Understand how to approach HLD system design problems in interviews
Get insight into the infrastructure like databases, caches, messaging queues, load balancers etc.

Lexicographically Smallest String

Lexicographically Smallest String

Problem Statement

Given a string S. The task is to find the lexicographically smallest string possible by inserting a given character.

A string a is lexicographically smaller than string b (of the same length) if in the first position where a and b differ, string a has a letter that appears earlier in the alphabet than the corresponding letter in b. For example, “abc” is lexicographically smaller than “bac” because ‘a’ comes before ‘b’ in dictionary order.

Examples:

Confused about your next job?

In 4 simple steps you can find your personalised career roadmap in Software development for FREE



Expand in New Tab 

Input: S = “axc”, ch = ‘b’
Output: abxc
Explanation:

Inserting character b in the second position gives the lexicographically smallest string.

Input:  S = “abcd”, ch = ‘e’
Output: abcde
Explanation:

Inserting character e in the last index gives the lexicographically smallest string.

Approach

The approach is to insert the given character just before the position, where the S[i] is lexicographically larger than the character ch.

Algorithm:

  • Iterate over the string from i = 0 till i = N.
  • If the current character of the string S[i] is lexicographically larger than the character ch, insert the character at that index and terminate the loop.
  • Else, continue iterating and if no such character is found which is lexicographically greater than ch, insert ch at the end of the string.

C++ Implementation

Java Implementation

Python Implementation

Time Complexity: O(N), where N is the length of the string.
Space Complexity: O(1), as no extra space is used.


Practice Question

Lexicographically Largest Array


Frequently Asked Questions

What is the lexicographically smallest string?
A string a is lexicographically smaller than string b (of the same length) if in the first position where a and b differ, string a has a letter that appears earlier in the alphabet than the corresponding letter in b

What is the time complexity of the insertion of a character at a given position?
The time complexity of insertion of a character at a given position is O(1).

Previous Post
Dining Philosophers Problem

Dining Philosophers Problem

Next Post
Longest Substring Without Repeating Characters

Longest Substring Without Repeating Characters

Total
0
Share