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 on Trending Technologies
Technical articles with clear explanations and examples
Disarium Number with examples in C++?
A number whose sum of its digits powered with its respective position equals to the number itself is called a disarium number.The noOfDigits(int num) function takes the number and return the number of digits by constantly dividing the number by 10 while there is only ones place left. On each iteration the digits variable is incremented to keep the digits track and is returned once the while loop ends.int noOfDigits(int num){ int digits = 0; int temp = num; while (temp){ temp= temp/10; digits++; } return digits; }Next, isDisarium(int ...
Read MoreDetermine the number of squares of unit area that a line will pass through in C++?
The objective is to determine the number of squares a line will pass through given two endpoints (x1, y1) and (x2, y2).To find the number of squares through which our line pass we need to find : difference between the x points (dx) = x2-x1, difference between the y points (dy) = y2-y1, adding the dx and dy and subtracting by their gcd (result) = dx + dy – gcd(dx, dy).The unitSquares(int x1, int y1, int x2, int y2) function takes four values x1, y1 and x2, y2. The absolute difference between the x2 and x1 and the absolute difference ...
Read MoreMaximum sub-tree sum in a Binary Tree such that the sub-tree is also a BST in C++ program
In this problem, we are given a binary tree BT. Our task is to create a program to find the Maximum sub−tree sum in a Binary Tree such that the sub−tree is also a BST.Binary Tree has a special condition that each node can have a maximum of two children.Binary Search Tree is a tree in which all the nodes follow the below−mentioned propertiesThe value of the key of the left sub-tree is less than the value of its parent (root) node's key.The value of the key of the right subtree is greater than or equal to the value of ...
Read MoreDFA based division in C++?
The Deterministic Finite Automaton(DFA) is used for checking if a number is divisible by another number k or not. The algorithm is useful because it can also find the remainder if the number isn’t divisible.In DFA based division we build a DFA table with k states. We consider binary representation of the number so there is only 0 and 1 in each state in DFA.The createTransTable(int k, int transTable[][2]) function is used for creating the transTable and storing the states in it. It takes the number k by which the number is to be divisible and transTable[][2] which is an ...
Read MoreMaximum subarray size, such that all subarrays of that size have sum less than k in C++ program
In this problem, we are given an array arr[] consisting of n positive integers and an integer k. Our task is to create a program to find the Maximum subarray size, such that all subarrays of that size have sum less than k.Problem Description − we need to find the largest size of a subarray, such that all subarray created of the size from the elements of the array will have the sum of elements less than or equal to k.Let’s take an example to understand the problem, Inputarr[n] = {4, 1, 3, 2}, k = 9Output3ExplanationAll subarrays of size ...
Read MoreDeepest left leaf node in a binary tree in C++
In this tutorial, we are going to find the deepest left leaf node in the binary tree. Let's see the binary tree. A B C D E F GLet's see the steps to solve the problem.Write a Node struct with char, left, and right pointers.Initialize the binary tree with dummy data.Write a recursive function to find the deepest left node in the binary function. It takes three argument root node, isLeftNode, and result pointer to store the deepest node.If the ...
Read MoreDFA for Strings not ending with "THE" in C++?
To use Deterministic Finite Automaton(DFA) to find strings that aren’t ending with the substring “THE”. We should keep that in mind that any variation of the substring “THE” like “tHe”, “The” ,”ThE” etc should not be at the end of the string.First, we define our dfa variable and initialise it to 0 which keeps our track of state. It is incremented on each character matched.int dfa = 0;The begin(char c) method takes a character and checks if its ‘t’ or ‘T’ and go to first state i.e 1.void begin(char c){ if (c == 't' || c == 'T') ...
Read MoreMaximum Subarray Sum Excluding Certain Elements in C++ program
In this problem, we are given two arrays arr1[] of size n and arr2[] of size m. Our task is to create a program to find the maximum subarray sum excluding certain elements.Problem Description − We need to find the maximum subarray sum from elements of the array arr1[] that are not present in arr2[].Let’s take an example to understand the problem, Inputarr1[] = {4, 5, 7, 2, 9}, arr2[] = {1, 9, 2, 7}Output9Explanationarr1 after removal of elements of arr2[] = {4, 5} Both can form a subarray, hence sum = 4+5 = 9.Solution ApproachA simple solution to the ...
Read MoreDelete a Doubly Linked List node at a given position in C++
In this tutorial, we are going to learn how to delete a node in doubly linked list with the given position.Let's see the steps to solve the problem.Write struct with data, prev and next pointers.Write a function to insert the node into the doubly linked list.Initialize the doubly linked list with dummy data.Initialize the position to delete the node.Iterate over the linked list and find the node with the given position to delete the node.Write a function to delete the node. Consider the following three cases while deleting the node.If the node is head node, then move the head to ...
Read MoreDiagonal of a Regular Hexagon in C++?
The regular hexagons are comprised of six equilateral triangles so the diagonal of a regular hexagon would be 2*side.ExampleLet us see the following implementation to get the regular Heptagon diagonal from its side −#include using namespace std; int main(){ float side = 12; if (side < 0) return -1; float diagonal = 2*side; cout
Read More