Sometimes we need to evaluate mathematical expressions without using Python's built-in eval() function. This requires parsing the expression manually while respecting operator precedence rules. So, if the input is like s = "2+3*5/7", then the output will be 4, as 2 + ((3 * 5) / 7) = 4. Algorithm Overview To solve this, we follow these steps − Reverse the input string to process from right to left Create a get_value() function to parse numbers and handle signs Create a get_term() function to handle multiplication and division (higher precedence) In the main function, handle ... Read More
Stock trading problems are common in dynamic programming. Given a list of stock prices and a maximum number of transactions k, we need to find the maximum profit possible. Each transaction consists of buying and then selling a stock. So, if the input is like prices = [7, 3, 5, 2, 3] and k = 2, then the output will be 3. We can buy at price 3, sell at 5 (profit = 2), then buy at 2 and sell at 3 (profit = 1), giving us total profit of 3. Approach We'll use dynamic programming with ... Read More
Suppose we have a list of numbers nums and another value k. The items at nums[i] represent the costs of landing at index i. We start from index 0 and need to reach the last index of nums. In each step we can jump from position X to any position up to k steps away. We need to minimize the sum of costs to reach the last index. So, if the input is like nums = [2, 3, 4, 5, 6] and k = 2, then the output will be 12, as we can select the path: 2 + ... Read More
Given a list of stock prices in chronological order, we need to find the maximum profit from buying and selling stocks at most two times. The constraint is that we must buy before selling, and we cannot hold multiple stocks simultaneously. For example, if prices = [2, 6, 3, 4, 2, 9], the maximum profit is 11 by buying at 2, selling at 6 (profit: 4), then buying at 2 and selling at 9 (profit: 7). Algorithm Approach We use dynamic programming to track four states ? first_buy: Maximum profit after first purchase first_sell: Maximum ... Read More
Suppose we have a word list and another string s with no spaces. We have to check whether the string can be broken down using the list of words or not. So, if the input is like words = ["love", "python", "we", "programming", "language"] s = "welovepythonprogramming", then the output will be True Algorithm To solve this, we will follow these steps − words := a new set of all unique words Define a function rec() . This will take i if i ... Read More
Suppose we have a list of boxes where each box is represented by [width, height]. We can put one box inside another box only if both the width and height of the first box are smaller than the second box. We need to find the maximum number of boxes we can nest inside each other. Problem Example Given the following boxes ? Width Height 12 12 10 10 6 6 5 10 The output will be 3, as we can fit the box [6, ... Read More
Suppose we have a binary tree; we have to find the longest consecutive path in the binary tree. A consecutive path is a sequence of nodes where each node's value differs from the previous by exactly 1 (either increasing or decreasing). So, if the input is like 3 2 4 5 9 ... Read More
A binary search tree (BST) has a specific property: for each node, all values in the left subtree are smaller, and all values in the right subtree are larger. When two nodes are swapped in a BST, we can identify and fix them by performing an inorder traversal and finding the nodes that violate the BST property. Understanding the Problem In an inorder traversal of a valid BST, the values should be in ascending order. When exactly two nodes are swapped, we'll find one or two violations where a node's value is less than the previous node's value. ... Read More
Suppose we have a binary matrix, we have to find the area of the largest square of 1s in that given matrix using dynamic programming. Problem Understanding Given a binary matrix containing only 0s and 1s, we need to find the area of the largest square submatrix that contains only 1s. For example, if the input matrix is ? .cell { fill: white; stroke: #333; stroke-width: 1; } .one { fill: #4CAF50; } ... Read More
A histogram is a graphical representation where data is displayed using bars of different heights. The largest rectangle area problem asks us to find the maximum rectangular area that can be formed under the histogram bars. Given a list of heights representing histogram bars, we need to find the area of the largest rectangle that fits completely under the bars. Problem Example For the input nums = [3, 2, 5, 7], the histogram looks like: .bar { fill: #4CAF50; stroke: #333; ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Economics & Finance