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
Articles by Divya Sahni
Page 2 of 4
Maximize the length of a subarray of equal elements by performing at most K increment operations
A subarray is a contiguous part of an array i.e. it can be considered as an array inside another array. For example, take the following array, array[] = {1, 2, 3, 4, 5, 6} For the above array, one possible subarray is subarry[] = {2, 3, 4} Problem Statement Given an array arr[] having N positive integers and a positive integer K representing the maximum number that can be added to the elements of the array. The task is to increment the elements of the array by most K increment operations and return the maximum possible ...
Read MoreDifference between sums of odd level and even level nodes in an N-ary Tree
The N-ary tree is a tree data structure where each node can have a maximum of N children where N is a positive integer (N >= 0). N-ary trees are used in many applications like file systems, organisational charts and syntax trees in programming languages. Example of N-ary tree with N = 4. A / / \ \ B C D E / | \ ...
Read MoreDetect a negative cycle in a Graph using the Shortest Path Faster Algorithm
The Shortest Path Faster Algorithm is an improved or more optimized version of the Bellman-Ford Algorithm. It calculates the single source's shortest path in a weighted directed graph. This algorithm is especially suitable for graphs with negatively weighted edges. Algorithm Given a weighted directed graph and a source vertex , the algorithm finds the shortest path from , to each vertex , in the graph. The length of thh shortest path from to is stored in for each vertex . procedure Shortest-Path-Faster-Algorithm(G, s) for each vertex v ≠ s in V(G) ...
Read MoreCheck if a Binary Tree is an Even-Odd Tree or not
Even-Odd Tree − A binary tree is called an even-odd tree if all the nodes at the even level (taking root node at level 0) have even values and all the nodes at the odd level have odd values. Problem Statement Given a binary tree. The task is to check if the binary tree is an even-odd tree or not. Sample Example 1 Input 6 / \ 3 7 / \ ...
Read MoreCheck if a Binary Tree contains node values in strictly increasing and decreasing order at even and odd levels
Level of a Binary Tree − In a binary tree, the level of the node refers to its distance from the root node. The root node is considered at level 0, its immediate children are at level 1, their children at level 2 and so on. Levels of a binary tree are explained in the following example, A
Read MoreArray obtained by repeatedly reversing array after every insertion from the given array
Array insertion and reversal are one of the most common array manipulation techniques. Array manipulation aims to modify an array's contents to get a desired outcome. Problem Statement Given an input array A[]. The task is to insert the elements of the given array into an existing array where a reversal of the output array follows each insertion. Sample Example 1 − Input: A[] = {1, 2, 3, 4, 5} Output: R[] = {5, 3, 1, 2, 4} Explanation Initially, the output array R[] is empty. Insertion of 1 : R[] = {1} Insertion of 2 : ...
Read MoreSum of an array using pthreads
Pthreads is an execution model that helps use multiple processors to work at the same time for solving a problem. It is independent of the programming language. Problem Statement Given an array of integers. Find the sum of all the elements of the array using pthreads. Need for Multithreading for Calculating sum The problem is to add the elements in an array. Although it is a simple problem where a linear traversal of the array can do the work very easily with a time complexity of O(n) where n is the number of elements in the array. But if we ...
Read MorePrint numbers in the range 1 to n having bits in an alternate pattern
Alternate bit pattern implies the positioning of 0’s and 1’s in a number at an alternate position i.e. no two 0s or 1’s are together. For example, 10 in binary representation is (1010)2 which has an alternate bit pattern as 0’s and 1’s are separated by each other. Problem Statement Given an integer, N. Find all the integers in the range 1 to N where the bit pattern of the integer is alternating. Example 1 Input: 10 Output: 1, 2, 5, 10 Explanation $\mathrm{(1)_{10} = (1)_2, (2)_{10} = (10)_2, (5)_{10} = (101)_2, (10)_{10} = (1010)_2}$ Example 2 Input: ...
Read MoreJacobsthal and Jacobsthal-Lucas Numbers
Jacobsthal Numbers Lucas sequence 𝑈𝑛(𝑃, 𝑄) where P = 1 and Q = -2 are called Jacobsthal numbers. The recurrence relation for Jacobsthal numbers is, $$\mathrm{𝐽_𝑛 = 0\: 𝑓𝑜𝑟 \: 𝑛 = 0}$$ $$\mathrm{𝐽_𝑛 = 1\: 𝑓𝑜𝑟 \: 𝑛 = 1}$$ $$\mathrm{𝐽_𝑛 = 𝐽_𝑛−1 + 2𝐽_{𝑛−2}\: 𝑓𝑜𝑟 \: 𝑛 > 1}$$ Following are the Jacobsthal numbers − 0, 1, 1, 3, 5, 11, 21, 43, 85, 171, 341, 683, 1365, …. Jacobsthal-Lucas Numbers Complementary Lucas sequence $\mathrm{𝑉_𝑛(𝑃, 𝑄)}$ where P = 1 and Q = -2 are called JacobsthalLucas numbers. The recurrence relation for Jacobsthal-Lucas numbers is, $\mathrm{𝐽_𝑛}$ = ...
Read MoreIncrement a number by 1 by manipulating the bits
Bit manipulation applies logical operations on a bit stream using bitwise operators like AND(&), OR(|), NOT(~), XOR(^), Left Shift() to get a required result. Using bitwise operators is beneficial as we can manipulate individual bits and they are faster than other operators. Problem Statement Given a number. Increment or add the number by 1 using bitwise operators only. (Don’t use arithmetic operators like ‘+’ , ‘-’, ‘*’ or’/’ ) Approach 1: Using One’s Complement / NOT Operator Bitwise complement / One’s complement is implemented using the NOT(~) Operator. For a number n, a bitwise complement of n i.e. ~n = ...
Read More