Found 7347 Articles for C++

Program to convert a linked list into a binary search tree in C++

Arnab Chakraborty
Updated on 19-Nov-2020 07:11:15

418 Views

Suppose we have a singly linked list where elements are arranged in non-decreasing order, we have to convert it to a height balanced binary search tree. So if the list is like [-10, -3, 0, 5, 9], The possible tree will be like −To solve this, we will follow these steps −If the list is empty, thenreturn nullDefine a recursive method called sortedListToBST() this will take list start nodex := address of the previous node of mid node from list amid := exact mid nodecreate a new node with value by taking from value of midnextStart := next of mid ... Read More

Program to find Inorder Successor of a binary search tree in C++

Arnab Chakraborty
Updated on 19-Nov-2020 06:21:30

523 Views

Suppose we have a binary search tree BST and another value of a node, we have to find the in-order successor of that node in the BST. As we all know that the successor of a node p is the node with the smallest key greater than the value of p.So, if the input is likeAnd p = 1, then the output will be 2, To solve this, we will follow these steps −Define recursive method inorderSuccessor(), this will take root and pif root null, then:return nullif val of root val val){             return inorderSuccessor(root->right, ... Read More

Program to find H-Index from a list of citations in C++

Arnab Chakraborty
Updated on 19-Nov-2020 06:17:15

244 Views

Suppose we have an array of citations of a researcher. We have to define a function to compute the researcher's h-index. As we know the h-index is a metric used to calculate the impact of a researcher's papers. Formally H-index can be defined as: "A researcher has index h if h of their N papers have at least h citations each, and the other N − h papers have no more than h citations each."So, if the input is like citations = [5, 4, 1, 2, 6], then the output will be 3, as at least 3 papers have at ... Read More

Android Unlock Patterns in C++

Arnab Chakraborty
Updated on 18-Nov-2020 12:21:48

895 Views

Suppose we have an Android 3x3 key lock screen and two integers m and n, the values of m and n are in range 1 ≤ m ≤ n ≤ 9, We have to count the total number of unlock patterns of the Android lock screen, which consist of minimum of m keys and maximum n keys.The rule is like, each pattern must connect at least m keys and at most n keys. All the keys must be unique. If there is a line connecting two consecutive keys in the pattern passes through any other keys, the other keys must ... Read More

Largest BST Subtree in C++

Arnab Chakraborty
Updated on 18-Nov-2020 12:19:14

88 Views

Suppose we have a binary tree; we have to find the largest subtree of it where largest means subtree with largest number of nodes in it.So, if the input is like, then the output will be 3, as the Largest BST Subtree, in this case, is the highlighted one.To solve this, we will follow these steps −Define one structure called data, there will be four values, size, maxVal, minVal, and ok, the ok can hold only true/false valuessolve(TreeNode * node)if node is null, then &miuns;return Data by initializing (0, infinity, -infinity, true)left := solve(left of node)left := solve(right of node)Define ... Read More

Maximum Size Subarray Sum Equals k in C++

Arnab Chakraborty
Updated on 18-Nov-2020 12:15:47

721 Views

Suppose we have an array called nums and a target value k, we have to find the maximum length of a subarray that sums to k. If there is not present any, return 0 instead.So, if the input is like nums = [1, -1, 5, -2, 3], k = 3, then the output will be 4, as the subarray [1, - 1, 5, -2] sums to 3 and is the longest.To solve this, we will follow these steps −ret := 0Define one map mn := size of numstemp := 0, m[0] := -1for initialize i := 0, when i < ... Read More

Number of Connected Components in an Undirected Graph in C++

Arnab Chakraborty
Updated on 18-Nov-2020 12:13:59

2K+ Views

Suppose we have n nodes and they are labeled from 0 to n - 1 and a list of undirected edges, are also given, we have to define one function to find the number of connected components in an undirected graph.So, if the input is like n = 5 and edges = [[0, 1], [1, 2], [3, 4]], then the output will be 2To solve this, we will follow these steps −Define a function dfs(), this will take node, graph, an array called visited, if visited[node] is false, then −visited[node] := truefor initialize i := 0, when i < size ... Read More

Generalized Abbreviation in C++

Arnab Chakraborty
Updated on 18-Nov-2020 12:11:31

178 Views

Suppose there is a word. We have to define a function that can generate the generalized abbreviations of a word.So, if the input is like "word", then the output will be ["word", "1ord", "w1rd", "wo1d", "wor1", "2rd", "w2d", "wo2", "1o1d", "1or1", "w1r1", "1o2", "2r1", "3d", "w3", "4"]To solve this, we will follow these steps −Define an array retDefine a function solve(), this will take s, idx, if idx >= size of s, then −insert s at the end of retreturny := substring of s from index 0 to idx - 1i := size of ynum := blank stringwhile (i >= ... Read More

Binary Tree Vertical Order Traversal in C++

Arnab Chakraborty
Updated on 18-Nov-2020 12:08:23

284 Views

Suppose there is a binary tree, we have to find the vertical order traversal of its nodes' values. If two nodes are in the same row and column, the order should be from left to right.So, if the input is like, then the output will be [[9], [3, 15], [20], [7]]To solve this, we will follow these steps −Define one map mDefine a function solve(), this will take node, x initialize it with 0, if node is null, then −returnsolve(left of node, x - 1)solve(right of node, x + 1)insert value of node at the end of m[x]From the main ... Read More

Sparse Matrix Multiplication in C++

Arnab Chakraborty
Updated on 18-Nov-2020 12:03:42

2K+ Views

Suppose we have two matrices A and B, we have to find the result of AB. We may assume that A's column number is equal to B's row number.So, if the input is like [[1, 0, 0], [-1, 0, 3]] [[7, 0, 0], [0, 0, 0], [0, 0, 1]], 100-103700000001then the output will be [[7, 0, 0], [-7, 0, 3]]700-703To solve this, we will follow these steps −r1 := size of A, r2 := size of Bc1 := size of A[0], c2 := size of B[0]Define one 2D array ret of order r1 x c2Define an array sparseA[r1] of pairsfor ... Read More

Advertisements