Articles on Trending Technologies

Technical articles with clear explanations and examples

Number of Groups of Sizes Two Or Three Divisible By 3 in C++

Hafeezul Kareem
Hafeezul Kareem
Updated on 26-Oct-2021 409 Views

Given an array of numbers, we need to find the number of groups of size 2 and 3 that are divisible by 3. We can get the sums of two and three combination numbers and check whether they are divisible by 3 or not.Let's see an example.Inputarr = [1, 2, 3, 4]Output4 There are 4 combinations that are divisible by 3. The combinations are...[1, 2] [2, 4] [1, 2, 3] [2, 3, 4]AlgorithmInitialise the array.Write two loops to get all combinations of size two.Compute the sum of each group.If the sum is divisible by 3, then increment the count.Write three ...

Read More

Number of groups of magnets formed from N magnets in C++

Hafeezul Kareem
Hafeezul Kareem
Updated on 26-Oct-2021 960 Views

The digit 1 represent positive pole whereas 0 represents negative pole.The magnet will have both poles as 10 or 01. A group can be formed with the magnets that attracts each other. The magnets with different pole facing each other will be in the same group.Here, you are given N number of magnets. You need to find out number of groups can be formed with them.Whenever there are two different magnets side by side, there forms a new group. In that case increment the count of the groups.Let's see an example.Inputmagnets = ["10", "01", "01", "01", "10", "01"]Output4 There are ...

Read More

Number of flips to make binary string alternate - Set 1 in C++

Hafeezul Kareem
Hafeezul Kareem
Updated on 26-Oct-2021 698 Views

Let's say you have given a binary string "10011". To make an alternate binary string, we need to flip a minimum of 2 characters as "10101".There are two possibilities for the alternate string. It will start with 0 or 1. We will check for two alternates and count the number of flips required for both.And then return the minimum of both. Let's see an example.Inputbinary = "10011"Output2 If we start the string with 0, then we have to flip 3 times. And if we start the string with 1, then we have to flip 2 times. The minimum is 2.AlgorithmInitialise ...

Read More

What is Ambiguous Grammar?

Ginni
Ginni
Updated on 26-Oct-2021 22K+ Views

A Grammar that makes more than one Leftmost Derivation (or Rightmost Derivation) for the similar sentence is called Ambiguous Grammar.Example − Verify whether the following Grammar is Ambiguous or Not.E → E+E|E $\ast$ E|idSolutionFor string id + id * id, there exist two parse trees.E ⇒lm $\underline{E}$+E ⇒ id+ $\underline{E}$⇒ id+$\underline{E}$ $\ast$ E⇒ id+id $\ast$ $\underline{E}$⇒ id+id $\ast$ idE ⇒lm $\underline{E}$ $\ast$ E⇒ $\underline{E}$+E $\ast$ E⇒ id+ $\underline{E}$ $\ast$ E⇒ id+id $\ast$ $\underline{E}$⇒ id+id $\ast$ idSo, the same string is generated using two different leftmost derivations. Each is having a different parse tree.∴ Two different parse trees exist for string id + id ...

Read More

What are Derivations?

Ginni
Ginni
Updated on 26-Oct-2021 5K+ Views

Derivations mean replacing a given string’s non-terminal by the right-hand side of the production rule. The sequence of applications of rules that makes the completed string of terminals from the starting symbol is known as derivation.It can derive terminal strings, beginning with the start symbol, by repeatedly replacing a variable with some production. The language of CFG is a set of terminal symbols we can derive so. This language is called context Free Language.Derivations are denoted by ⇒.For example, consider a Grammar.G=({S}, {a, b}, P, S), where, P contains following productions −P={S→aSa |bSb | ∈}In the above, S may be ...

Read More

What is the implementation of a Lexical Analyzer?

Ginni
Ginni
Updated on 26-Oct-2021 13K+ Views

Lexical Analysis is the first step of the compiler which reads the source code one character at a time and transforms it into an array of tokens. The token is a meaningful collection of characters in a program. These tokens can be keywords including do, if, while etc. and identifiers including x, num, count, etc. and operator symbols including >, >=, +, etc., and punctuation symbols including parenthesis or commas. The output of the lexical analyzer phase passes to the next phase called syntax analyzer or parser.The syntax analyser or parser is also known as parsing phase. It takes tokens ...

Read More

What is minimizing of DFA in compiler design?

Ginni
Ginni
Updated on 26-Oct-2021 4K+ Views

Minimizing means reducing the number of states in DFA. We have to detect those states of DFA whose presence or absence in DFA does not affect language accepted by DFA. These states can be eliminated from DFA.Algorithm: Minimization of DFAInput − DFA D1 with a set of states Q with a set of final states F.Output − DFA D2 which accepts the same language as D1 and having a minimum number of states as possible.MethodMake a partition 'π' of a set of states with two subsets −Final state 'F'Non-Final States 'Q-F'∴ π={F, Q−F}To apply the following procedure to make πnew ...

Read More

Number of elements smaller than root using preorder traversal of a BST in C++

Hafeezul Kareem
Hafeezul Kareem
Updated on 26-Oct-2021 169 Views

You are given the result of the preorder traversal. You need to find the number of elements that are smaller than the root.The first element in the preorder traversal is the root of the BST. Let's see an example.Inputpreorder_result = [5, 4, 2, 1, 7, 6, 8, 9]Output3 There are three elements that are less than the root. The root is 5.AlgorithmInitialise the preorder result in an array.Store the first element i.e.., root of the BST in a variable.Write a loop that iterates from the 2nd element of the preorder result.Compare every element with the root.If the current element is ...

Read More

Can we convert a non-deterministic finite automata into a deterministic finite Automata?

Ginni
Ginni
Updated on 26-Oct-2021 1K+ Views

Yes, we can convert a NFA into DFA. For every NFA there exists an equivalent DFA. The equivalence is defined in terms of languages acceptance. Since NFA is nothing but a finite automata in which zero, one or more transitions on an input symbols are permitted. It can always construct finite automata which will simulate all moves of DFA on a particular input symbol in parallel, then get a finite automata in which there will be exactly one transition on every input symbol. Here, corresponding to a NFA there exist a DFA. To construct DFA equivalent to NFA, it should ...

Read More

Number of elements less than or equal to a given number in a given subarray in C++

Hafeezul Kareem
Hafeezul Kareem
Updated on 26-Oct-2021 243 Views

You are given a number and subarray lower and upper bound indexes. You need to count a number of elements that are less than or equal to the given number. Let's see an example.Inputarr = [1, 2, 3, 4, 5, 6, 7, 8] k = 4 lower = 0 upper = 5Output4There are 4 elements between the index 0 and 5 that are less than or equal to 4.AlgorithmInitialise the array, number, and subarray indexes.Initialise the count to 0.Write a loop that iterates from the lower index of the subarray to the upper index of the subarray.If the current element ...

Read More
Showing 47961–47970 of 61,297 articles
Advertisements