In this problem, we will count ways to partition the given string into the K substrings such that it follows the condition given in the problem statement. We will use the recursion to solve the problem. Also, we will use the tabular dynamic programming approach to solve the problem efficiently. Problem statement − We have given a string named bin_Str of a particular length. The string contains only numeric digits from ‘0’ to ‘9’. We need to count the number of ways to partition the string in K substrings such that it follows the below condition. The substring should ... Read More
In this problem, we will count substrings of the given binary string containing the number of ‘0’ and ‘1’ characters in the X : Y ratio. The naïve approach finds all substrings of the given binary string, counts ‘0’ and ‘1’, and checks whether the counts are in the X : Y ratio. The efficient approach uses the prefix sum technique to solve the problem. Problem statement − We have given a binary string of length bin_len. We need to count substrings having a number of 0s and 1s in the ratio of X : Y. Sample examples Input ... Read More
In this problem, we will count substrings that we can make of length 1 by replacing the ‘10’ and ‘01’ substrings with ‘1’ or ‘0’ characters. When any binary string contains an equal number of ‘0’ and ‘1’, we can always make it of length 1 by performing the replacement operations. So, the problem is solved by finding the substrings with equal numbers of ‘0’ and ‘1’. Problem statement − We have given a binary string named bin_str and of length bin_len. We need to count the total number of substrings that we can make of length 1 by ... Read More
In this problem, we will validate the Morse code. The Morse code method was used to transform the text in the encoded format, and it was very helpful to provide communication between two entities before the telephone was invented. There are standard codes for each alphabetical character containing the ‘.’ And ‘−‘. The code is prepared based on the transmission time, where ‘.’ Represents the short signals, and ‘−‘ represents the long signals. However, in this tutorial, we will use the standardized Morse code to decode and validate the string. Here is the table of standardized Morse code. ... Read More
Operating systems use the Not Recently Used (NRU) page replacement algorithm as a fundamental page replacement tactic to control memory. Its major goal is to locate and remove pages from memory that haven't been accessed in a while. In this article, we will be discussing the NRU page replacement algorithm, the classes in it, the steps involved, the use cases, and also its benefits. The NRU algorithm Classes Based on their usage or reference bit, pages are divided into four classes by the NRU algorithm − Class 0 − Since they were loaded into memory, pages cannot be referenced (accessed) ... Read More
In this problem, we will check whether we can convert string alpha2 to alpha1 by performing the XOR operation of any two adjacent characters and replacing both characters with an XOR value. We will use the logic based on the XOR value of two digits to solve the problem. If the string contains at least one ‘1’ and more than two adjacent consecutive characters, we can convert the alpha2 string to alpha1. Problem statement − We have given two binary strings of the same length. We need to check whether we can convert the alpha2 string to alpha1 by performing ... Read More
Operating systems assign memory to processes using the memory management strategy known as non-contiguous allocation. This method divides memory into fixed-size blocks or partitions, and each partition can be assigned to a process according to its needs in terms of size. The non-contiguous allocation permits a process's memory to be dispersed among several regions in the main memory, in contrast to the contiguous allocation, where a process occupies a single block of memory. When working with processes of varying sizes, this strategy offers greater flexibility and effective memory utilization. In this article, we will be exploring what is Non-Contiguous Memory ... Read More
Operating systems use the scheduling algorithm non-preemptive priority scheduling to choose the sequence in which processes are carried out. Each process is given a priority value based on specific criteria, and the procedure with the highest priority is carried out first. In this article, we will be discussing Non-Preemptive Priority, the much-needed Process of Prioritization with some examples, and some strategies to prevent starvation in terms of Non-Preemptive Priority. What is Non-Preemptive Priority? A process in non-preemptive priority scheduling keeps running until it is finished or voluntarily enters a waiting state. A higher-priority process is not halted by the scheduler ... Read More
In this problem, we will check whether we can convert the string alpha1 to alpha2 by inserting the same characters between any two same characters of the given string. We will use the run length encoding algorithm to solve the problem, which counts the frequency of the contiguous characters. Problem statement − We have given two strings named alpha1 and alpha2. We need to check whether we can convert the string alpha1 to alpha2 by performing an unlimited number of below operations. Choose any index, and the character at the current and previous index is the same, insert the ... Read More
Introduction Named pipes, also referred to as FIFOs (First In, First Out), constitute essential IPC systems in software systems. They offer a quick and effective method for successfully transferring information between processes. Specialized kinds of files known as named pipes serve as a means for interaction among unconnected procedures that operate on an identical structure as well as on separate ones. First-in, first-out (FIFO) named pipes ensure that information composed to the line by a single procedure is read from the pipe by another course in the identical order. Therefore, They are particularly advantageous when processes must communicate independently without ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP