Articles on Trending Technologies

Technical articles with clear explanations and examples

Print all permutations in sorted (lexicographic) order in C++

sudhir sharma
sudhir sharma
Updated on 11-Mar-2026 640 Views

In this problem, we are given a string of length n and we have to print all permutations of the characters of the string in sorted order.Let’s take an example to understand the problem :Input: ‘XYZ’Output: XYZ, XZY, YXZ, YZX, ZXY, ZYX.Here we have to print all permutations in lexicographical order (alphabetically increasing order).To solve this problem, we have to first sort the array in alphabetically increasing order, the sorted array is the first element of the permutation. And then generate the next higher order permutation of the string.The below code will make the solution more clear to you :Example#include ...

Read More

Find the closest and smaller tidy number in C++

Arnab Chakraborty
Arnab Chakraborty
Updated on 11-Mar-2026 180 Views

Suppose we have a number n, we have to find the closest and smaller tidy number of n. So a number is called tidy number, if all of its digits are sorted in non-decreasing order. So if the number is 45000, then the nearest and smaller tidy number will be 44999.To solve this problem, we will traverse the number from end, when the tidy property is violated, then we reduce digit by 1, and make all subsequent digit as 9.Example#include using namespace std; string tidyNum(string number) {    for (int i = number.length()-2; i >= 0; i--) {     ...

Read More

Maximize the number of segments of length p, q and r in C++

Narendra Kumar
Narendra Kumar
Updated on 11-Mar-2026 268 Views

Problem statementGiven a rod of length L, the task is to cut the rod in such a way that the total number of segments of length p, q and r is maximized. The segments can only be of length p, q, and rIf l = 15, p = 2, q = 3 and r = 5 then we can make 7 segments as follows −{2, 2, 2, 2, 2, 2, 3}AlgorithmWe can solve this problem using dynamic programming1. Initialize dp[] array to 0 2. Iterate till the length of the rod. For every i, a cut of p, q and ...

Read More

Maximum number of 3-person teams formed from two groups in C++

Narendra Kumar
Narendra Kumar
Updated on 11-Mar-2026 1K+ Views

In this problem, we are given two integers N and M, N is the number of people in group 1, and M is the number of people in group 2. Our task is to create a program to find the maximum number of 3-person teams formed from two groups.We will be creating teams of 3 people by selecting a person from these groups such that the maximum teams can be made. Each team must have at least one person from each group.Let’s take an example to understand the problem, Input − N = 5, M = 3Output − 2Explanation −The ...

Read More

Duplicate Zeros in Python

Arnab Chakraborty
Arnab Chakraborty
Updated on 11-Mar-2026 1K+ Views

Suppose we have a fixed length array of integers, we have to duplicate each occurrence of zero, shifting the remaining elements to the right side.Note that elements beyond the length of the original array are not written.So suppose the array is like [1, 0, 2, 3, 0, 4, 5, 0], then after modification it will be [1, 0, 0, 2, 3, 0, 0, 4]To solve this, we will follow these steps −copy arr into another array arr2, set i and j as 0while i < size of arr −if arr2[i] is zero, thenarr[i] := 0increase i by 1if i < ...

Read More

Maximize the sum of arr[i]*i in C++

Narendra Kumar
Narendra Kumar
Updated on 11-Mar-2026 528 Views

Problem statementGiven an array of N integers. You are allowed to rearrange the elements of the array. The task is to find the maximum value of Σarr[i]*i, where i = 0, 1, 2, .. n – 1.If input array = {4, 1, 6, 2} then the maximum sum will be 28 if we rearrange elements in sorted order−{1, 2, 4, 6} = (1 * 0) + (2 * 1) + (4 * 2) + (6 * 3) = 28Algorithm1. Sort array in ascending order 2. Iterate over array and multiply each array element by 1 where i = 0, 1, ...

Read More

Maximum number of edges in Bipartite graph in C++

Narendra Kumar
Narendra Kumar
Updated on 11-Mar-2026 432 Views

Problem statementGiven an integer N which represents the number of Vertices. The Task is to find the maximum number of edges possible in a Bipartite graph of N vertices.Bipartite GraphA Bipartite graph is one which is having 2 sets of vertices.The set are such that the vertices in the same set will never share an edge between them.ExampleIf N = 10 then there will be total 25 edges −Both sets will contain 5 vertices and every vertex of first set will have an edge to every other vertex of the second setHence total edges will be 5 * 5 = ...

Read More

Print all permutation of a string using ArrayList in Java

sudhir sharma
sudhir sharma
Updated on 11-Mar-2026 842 Views

In this problem, we are given a string of size n and we have to print all permutations of the string. But this time we have to print this permutation using ArrayList.Let’s take an example to understand the problem -Input − string = ‘XYZ’Output − XYZ, XZY, YXZ, YZX, ZXY, ZYXTo solve this problem, we will be generating all permutations of the character of the string. We will use a recursive function and will return arrayList.ExampleThe following is ArrayList implementation of the algorithm −import java.util.ArrayList; public class Main{    static void printArrayList(ArrayList combo) {       combo.remove("");     ...

Read More

Maximize the value of the given expression in C++

Narendra Kumar
Narendra Kumar
Updated on 11-Mar-2026 417 Views

Problem statementGiven three non-zero integers a, b and c. The task is to find the maximum value possible by putting addition and multiplication signs between them in any order.Please note that rearrangement of integers is allowed but addition and multiplication sign must be used once.If a = 1, b = 3 and c = 5 then maximum value will be 20 as follows−(1 + 3) * 5 = 20Algorithm1. If all numbers are positive, then add two small numbers and multiply result with larger one 2. If only two numbers are positive, then multiply 2 positive numbers and add remaining ...

Read More

Maximum number of edges to be added to a tree so that it stays a Bipartite graph in C++

Narendra Kumar
Narendra Kumar
Updated on 11-Mar-2026 397 Views

Problem statementA tree is always a Bipartite Graph as we can always break into two disjoint sets with alternate levels.In other words, we always color it with two colors such that alternate levels have same color. The task is to compute the maximum no. of edges that can be added to the tree so that it remains Bipartite Graph.ExampleTree edges are represented in vertex pairs as follows −{1, 2}{1, 3}{2, 4}{3, 5} then we need 2 more edges to keep it Bipartite GraphIn a coloring graph the graph {1, 4, 5} and {2, 3} from two different sets. Since, 1 ...

Read More
Showing 28371–28380 of 61,297 articles
Advertisements