Programming Articles - Page 2354 of 3363

Minimum number of elements that should be removed to make the array good using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:43:01

1K+ Views

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 More

Minimum number of deletions to make a string palindrome in C++.

Narendra Kumar
Updated on 31-Oct-2019 06:40:01

1K+ Views

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 More

Minimum number of deletions and insertions to transform one string into another using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:33:35

451 Views

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 More

Merge Overlapping Intervals using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:27:59

634 Views

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 More

Merge Sort for Doubly Linked List using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:24:22

598 Views

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 More

Merge Sort for Linked Lists using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:21:00

321 Views

Problem statementGiven a 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; }; node *createList(int *arr, int n){    node *head, *p;    p = head = new node;    head->data = arr[0];    head->next = NULL;    for ... Read More

Merge two binary Max Heaps using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:18:19

334 Views

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 More

Merge two sorted arrays using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:14:58

4K+ Views

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 More

Merge two sorted linked lists using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:12:11

3K+ Views

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 More

Merging elements of two different arrays alternatively in third array in C++.

Narendra Kumar
Updated on 31-Oct-2019 06:09:34

887 Views

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 More

Advertisements