Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Articles by Arnab Chakraborty
Page 200 of 377
Reorder Routes to Make All Paths Lead to the City Zero in C++
Suppose there are n different cities those are numbered from 0 to n-1 and there are also n-1 roads such that there is only one way to travel between two different cities. Suppose the ministry of transport decided to orient the roads in one direction because they are too narrow.Here the roads are represented by connections where connections[i] = [a, b] this represents a road from city a to b.If there is a big event in the capital (city numbered as 0), and many people want to travel to this city. We have to perform some reorienting task on some ...
Read MoreThe k Strongest Values in an Array in C++
Suppose we have an array of numbers called arr and an integer k. There is a value arr[i] that is said to be stronger than a value arr[j] when |arr[i] - m| > |arr[j] - m| where m is the median of the array. If |arr[i] - m| is same as the |arr[j] - m|, then arr[i] is said to be stronger than arr[j] if arr[i] > arr[j]. So we have to find a list of the strongest k values in the array.So, if the input is like arr = [1, 2, 3, 4, 5], k = 2, then the ...
Read MoreSynonymous Sentences in C++
Suppose we have a list of pairs of equivalent words synonyms and a sentence text, we have to find all possible synonymous sentences they are sorted lexicographically.So, if the input is like synonyms = [["happy", "joy"], ["sad", "sorrow"], ["joy", "cheerful"]], and text = "I am happy today but was sad yesterday", then the output will be ["I am cheerful today but was sad yesterday", "I am cheerful today but was sorrow yesterday", "I am happy today but was sad yesterday", "I am happy today but was sorrow yesterday", "I am joy today but was sad yesterday", "I am joy today ...
Read MoreBinary Tree Upside Down in C++
Suppose we have a binary tree where all the right nodes are either leaf nodes with a sibling otherwise empty, we have to flip it upside down and turn it into a tree where the original right nodes turned into left leaf nodes. We have to return the new node.So, if the input is like [1, 2, 3, 4, 5]then the output will return the root of the binary tree [4, 5, 2, #, #, 3, 1]To solve this, we will follow these steps −Define a function solve(), this will take node, par, sibling, if node is not present, then ...
Read MoreLongest Substring with At Most Two Distinct Characters in C++
Suppose we have a string s; we have to find the length of the longest substring t that has at most 2 distinct characters.So, if the input is like "eceba", then the output will be 3 as t is "ece" which its length is 3.To solve this, we will follow these steps −Define a function lengthOfLongestSubstringKDistinct(), this will take s, k, ans := 0Define one map mn := size of s, x := 0for initialize j := 0, i := 0, when j < n, update (increase j by 1), do −(increase m[s[j]] by 1)if m[s[j]] is same as 1, ...
Read MoreOne Edit Distance in C++
Suppose we have two strings s and t; we have to check whether they are both one edit distance apart. The one edit distance has three types −Insert a character into s to get tDelete a character from s to get tReplace a character of s to get tSo, if the input is like s = "ab", t = "acb", then the output will be TrueTo solve this, we will follow these steps −n := size of s, m := size of tif n < m, then −return isOneEditDistance(t, s)for initialize i := 0, when i < m, update (increase ...
Read MoreMissing Ranges in C++
Suppose we have a sorted integer array nums, the range of elements are in the inclusive range [lower, upper], we have to find the missing ranges.So, if the input is like nums = [0, 1, 3, 50, 75], and lower value is 0 and upper value is 99, then the output will be ["2", "4->49", "51->74", "76->99"]To solve this, we will follow these steps −Define an array numsDefine one set vfor initialize i := 0, when i < size of t, update (increase i by 1), do −if t[i] is not in v, then −insert t[i] into vinsert t[i] at ...
Read MoreShortest Word Distance II in C++
Suppose there is a class that receives a list of words in the constructor, there will be a method that takes two words word1 and word2 and find the shortest distance between these two words in the list. That method will be called repeatedly many times with different parameters.Let us assume that words = ["practice", "makes", "perfect", "skill", "makes"].So, if the input is like word1 = “skill”, word2 = “practice”, then the output will be 3To solve this, we will follow these steps −Define one map mThe initializer takes an array of wordsfor initialize i := 0, when i < ...
Read MoreStrobogrammatic Number II in C++
Suppose we have a length n. We have to find all strobogrammatic numbers that are of length n.As we know that a strobogrammatic number is a number that looks the same when rotated 180 degrees.So, if the input is like n = 2, then the output will be ["11", "69", "88", "96"]To solve this, we will follow these steps −Define an array retif n is odd, then −insert "0" at the end of retinsert "1" at the end of retinsert "8" at the end of retOtherwiseinsert blank string at the end of retfor n > 1, update n := n ...
Read MoreGroup Shifted Strings in C++
Suppose we have a string, we can "shift" each of its letter to its successive letter, so: "abc" can be changed to "bcd". We can keep doing this operation which forms the sequence: "abc" -> "bcd" -> ... -> "xyz". If we have a list of non-empty strings that contains only lowercase alphabets, we have to group all strings that belong to the same shifting sequence.So, if the input is like ["abc", "bcd", "acef", "xyz", "az", "ba", "a", "z"], then the output will be [ ["abc", "bcd", "xyz"], ["az", "ba"], ["acef"], ["a", "z"] ]To solve this, we will follow these ...
Read More