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
Program to Find Out the Largest K-Divisible Subsequence Sum in Python
Given a list of non-negative numbers and a positive value k, we need to find the maximum sum of a subsequence such that the sum is divisible by k. A subsequence can be formed by removing some elements from the original array while maintaining the relative order. Problem Understanding For example, if we have nums = [4, 6, 8, 2] and k = 2, the sum of all elements is 20, which is divisible by 2. So the answer is 20. Approach The algorithm works as follows: Calculate the total sum of all numbers ...
Read MoreProgram to Find the longest subsequence where the absolute difference between every adjacent element is at most k in Python.
Finding the longest subsequence where the absolute difference between every adjacent element is at most k is a dynamic programming problem that can be efficiently solved using a segment tree for range maximum queries. So, if the input is like nums = [5, 6, 2, 1, −6, 0, −1] and k = 4, then the output will be 6. Algorithm Overview The approach uses coordinate compression and a segment tree to efficiently track the maximum subsequence length ending at each position − Sort the array to create coordinate mapping For each element, find the range ...
Read MoreProgram to Find K-Largest Sum Pairs in Python
When working with two lists of numbers, we often need to find the k largest sum pairs where each pair contains one element from each list. This problem can be efficiently solved using a max heap to prioritize the largest sums. For example, if we have nums1 = [8, 6, 12], nums2 = [4, 6, 8], and k = 2, we need to find the 2 largest sum pairs. The largest pairs would be [12, 8] = 20 and [12, 6] = 18, giving us a total sum of 38. Algorithm Approach We'll use a max heap ...
Read MoreProgram to Find Out the Edges that Disconnect the Graph in Python
An edge in a graph is called a bridge (or cut-edge) if removing it increases the number of connected components. In other words, removing a bridge edge disconnects the graph. We can find bridge edges using Tarjan's algorithm with depth-first search. Algorithm Overview The algorithm uses DFS to assign discovery times to each node and tracks the lowest discovery time reachable from each subtree. An edge is a bridge if there's no back edge from the subtree that can reach an ancestor. Example Let's implement the bridge-finding algorithm ? class Solution: ...
Read MoreProgram to Find Out the Occurrence of a Digit from a Given Range in Python
When working with digit counting problems, we need to find how many times a specific digit appears in a range of numbers. This problem asks us to count occurrences of digit d in all numbers from 1 to n. For example, if n = 45 and d = 5, we need to count digit 5 in numbers: [5, 15, 25, 35, 45], giving us a total count of 5. Using Recursive Approach The recursive solution breaks down the problem by processing digits systematically ? class Solution: def solve(self, n, d): if n < 0: return 0 k = n // 10 - 1 ans = self.solve(k, d) * 10 + k + 1 if d == 0: ans -= 1 m = n // 10 * 10 while m
Read MoreProgram to Find Out Currency Arbitrage in Python
Currency arbitrage is a strategy where we exploit differences in exchange rates to make a profit. Given an N x N table of currency exchange rates, we need to check whether there's a sequence of trades that can turn some amount A of any currency into an amount greater than A of the same currency. 1 CAD 0.65 EUR 0.7865 USD 1.00672 CAD ...
Read MoreProgram to Connect a Forest in Python
Given a forest (collection of disconnected trees) represented as an adjacency list, we need to connect all trees into a single tree by adding the minimum number of edges. The goal is to minimize the diameter (longest path between any two nodes) of the resulting connected tree. 0 1 2 3 4 ...
Read MoreProgram to find out the efficient way to study in Python
Suppose we have three lists of equal length representing course assignments: deadlines, credits, and durations. For the i-th assignment, deadlines[i] shows its deadline, credits[i] shows its credit value, and durations[i] shows the days needed to complete it. We must complete one assignment before starting another, and we can finish an assignment on its due date. We start at day 0. The goal is to find the maximum credits we can earn by efficiently scheduling assignments within their deadlines. Example Problem If we have deadlines = [7, 5, 10], credits = [8, 7, 10], and durations = [5, ...
Read MoreProgram to find maximum value by inserting operators in between numbers in Python
When given a list of numbers, we need to find the maximum value possible by inserting binary operators (+, -, *) and parentheses between them. This problem uses dynamic programming to explore all possible combinations of operations. For example, with nums = [-6, -4, -10], we can create the expression ((-6) + (-4)) * -10 = (-10) * (-10) = 100. Algorithm Steps The solution uses a recursive approach with memoization: For each subarray, calculate both minimum and maximum possible values Try all possible split points and operators Combine results from left and right subarrays ...
Read MoreProgram to find max values of sublists of size k in Python
Finding maximum values in sliding windows of size k is a common problem. We'll explore three approaches: brute force, optimized tracking, and using a deque for efficient sliding window maximum. Problem Understanding Given a list nums = [12, 7, 3, 9, 10, 9] and k = 3, we need to find the maximum value in each sublist of size 3: [12, 7, 3] → max = 12 [7, 3, 9] → max = 9 [3, 9, 10] → max = 10 [9, 10, 9] → max = 10 Method 1: Brute Force Approach ...
Read More