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
Minimum number of elements that should be removed to make the array good using C++.
Problem statementGiven an array “arr”, the task is to find the minimum number of elements to be removed to make the array good.A sequence a1, a2, a3. . .an is called good if for each element a[i], there exists an element a[j] (i not equals to j) such that a[i] + a[j] is a power of two.arr1[] = {1, 1, 7, 1, 5}In above array if we delete element ‘5’ then array becomes good array. After this any pair of arr[i] + arr[j] is power of two −arr[0] + arr[1] = (1 + 1) = 2 which power of twoarr[0] ...
Read MoreMinimum number of deletions to make a string palindrome in C++.
Problem statementGiven a string of size ‘n’. The task is to delete a minimum number of characters to make string palindrome.If the given string is “abcda” then we can delete any 2 characters except first and last to make it a palindrome.If we delete character ‘b’ and ‘c’ then “ada” string is a palindromeIf we delete character ‘c’ and ‘d’ then “aba” string is a palindromeIf we delete character ‘b’ and ‘d’ then “aca” string is a palindromeAlgorithm1. Find longest palindromic subsequence of given string. Let’s call it as “lpsSize”. 2. Minimum characters to be deleted = (length of string ...
Read MoreMinimum number of deletions and insertions to transform one string into another using C++.
DescriptionGiven two strings str1 and str2 of size m and n respectively. The task is to delete and insert a minimum number of characters from/in str1 so as to transform it into str2.Str1 = “tutorialspoint” Str2 = “tutorials” To transform str1 to str2 we have to delete five characters i.e. “point” from str1.Algorithm1. Find longest common subsequence of str1 and str2. Let’s call it as “lcsSize” 2. Number of characters to be deleted = (length of str1 - lcsSize) 3. Number of characters to be inserted = (length of str2 - lcsSize)Example#include #include using namespace std; int lcs(string ...
Read MoreMerge Overlapping Intervals using C++.
Problem statementGiven a set of time intervals in any order, merge all overlapping intervals into one and output the result which should have only mutually exclusive intervalsGiven set of interval is {{12, 14}, {11, 13}, {20, 22}, {21, 23}} thenInterval {12, 14} and {11, 13} overlap with each other hence merge them as {11, 14}Interval {20, 22} and {21, 23} overlap with each other hence merge them as {20, 23}Algorithm1. Sort the intervals based on increasing order of starting time 2. Push the first interval on to a stack 3. For each interval perform below steps: 3.1. If the ...
Read MoreMerge Sort for Doubly Linked List using C++.
Problem statementGiven a doubly linked list. Sort it using merge sort algorithmList: 10->20->8-17->5->13->4 Sorted list: 4->5->8->10->13->17->20Algorithm1. If head is NULL or list contains only one element then return list 2. Create two lists by dividing original list into 2 parts 3. Sort first and second part of list 4. Merge both sorted listExample#include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) using namespace std; struct node { int data; struct node *next; struct node *prev; }; node *createList(int *arr, int n){ node *head, *p, *q; p = head = new node; head->data = arr[0]; ...
Read MoreMerge two binary Max Heaps using C++.
Problem statementGiven two binary max heaps as arrays, merge the into single max heap.Heap1[] = {20, 17, 15, 10} Heap2[] = {19, 13, 7} Result[] = {20, 19, 15, 13, 17, 7, 10}Algorithm1.Create an array to store result 2. Copy both given arrays one by one to result array 3. Build heap to construct full merged max heapExample#include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) using namespace std; void heapify(int *arr, int n, int idx){ if (idx >= n) { return; } int l = 2 * idx + 1; int r ...
Read MoreMerge two sorted arrays using C++.
Problem statementGiven 2 sorted arrays list. Write a function to merge given two sorted arrays into oneArr1[] = {10, 15, 17, 20} Arr2[] = {5, 9, 13, 19} Result[] = {5, 9, 10, 13, 15, 17, 19, 20}Algorithm1. Traverse both array 1.1. If arr1[i] < arr2[j] 1.1.1. Add arr[i] to new array 1.1.2. Increment ‘i’ and index of result array ‘k’ 1.2. If arr2[i] < arr1[j] 1.2.1. Add arr[j] to new array 1.2.2. Increment ‘j’ and index of result array ‘k’ 2. Repeat procedure until both ...
Read MoreMerge two sorted linked lists using C++.
Problem statementGiven 2 sorted singly linked list. Write a function to merge given two sorted linked listsList1: 10->15->17->20 List2: 5->9->13->19 Result: 5->9->10->13->15->17->19->20Algorithm1. Traverse both lists 1.1. If list1->data < list2->data 1.1.1 Add list1->data to new list and increment list1 pointer 1.2 If list2->data < list1->data 1.2.1 Add list2->data to new list and increment list2 pointer 2. Repeat procedure until both lists are exhausted 3. Return resultant listExample#include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) using namespace std; struct node { int data; struct node *next; }; node *createList(int *arr, ...
Read MoreMerging elements of two different arrays alternatively in third array in C++.
Problem statementGiven two arrays, we need to combine two arrays in such a way that the combined array has alternate elements of the first and second array. If one of the arrays has an extra element, then these elements should be appended at the end of the combined array.arr1[] = {10, 20, 30, 40} arr2[] = {-10, -20, -30, -40} result[] = {10, -10, 20, -20, 30, -30, 40, -40}Algorithm1. Traverse both arrays and one by one put elements into result array. 2. If one of the array exhausts then put remaining elements of other array into result array.Example#include ...
Read MoreMerging two unsorted arrays in sorted order in C++.
Problem statementWrite a function that takes two unsorted arrays and merges them into a new array in sorted order.arr1[] = {10, 5, 7, 2} arr2[] = {4, 17, 9, 3} result[] = {2, 3, 4, 5, 7, 9, 10, 17}Algorithm1. Merge two unsorted array into new array 2. Sort newly create arrayExample#include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) using namespace std; void mergeAndSort(int *arr1, int n1, int *arr2, int n2, int *result){ merge(arr1, arr1 + n1, arr2, arr2 + n2, result); sort(result, result + n1 + n2); } void displayArray(int *arr, int n){ for (int i = 0; i < n; ++i) { cout
Read More