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 by Arnab Chakraborty
Page 82 of 377
Program to find minimum cost to paint fences with k different colors in Python
Suppose we want to paint a row of N fences with K different colors. We want to minimize the cost while ensuring that no two neighboring fences are of the same color. So if we have an N x K matrix where the nth row and kth column represents the cost to paint the nth fence with kth color, we have to find the minimum cost which achieves this goal. So, if the input is like ? 6 4 5 3 2 7 3 4 5 5 4 4 ...
Read MoreProgram to get maximum value of power of a list by rearranging elements in Python
Given a list of positive numbers, we can move any single element to any position to maximize the list's power. The power of a list is calculated as the sum of (index + 1) × value_at_index for all indices. $$\displaystyle\sum\limits_{i=0}^{n-1} (i+1)\times list[i]$$ For example, if nums = [6, 2, 3], we can move 6 to the end to get [2, 3, 6]. The power becomes: (2 × 1) + (3 × 2) + (6 × 3) = 26. Algorithm To solve this problem, we follow these steps − Create a prefix sum array P ...
Read MoreProgram to find length of longest increasing subsequence with at least k odd values in Python
Finding the length of the longest increasing subsequence with at least k odd values is a dynamic programming problem. We need to explore all possible increasing subsequences and track how many odd numbers each contains. So, if the input is like nums = [12, 14, 16, 5, 7, 8] and k = 2, then the output will be 3, as the longest increasing subsequence with at least 2 odd values is [5, 7, 8]. Algorithm Approach To solve this, we will follow these steps − Initialize best := 0 to track ...
Read MoreProgram to get final position of moving animals when they stops in Python
Suppose we have a string s representing the initial positions of animals in a line. Each character represents an animal's movement direction: L indicates the animal moves left, R indicates the animal moves right, and @ indicates the animal is standing still. Moving animals will influence other animals in their path unless they encounter a force from the opposite direction, which causes them to stop. We need to find the final orientation of each animal when all movement stops. Problem Understanding The algorithm uses a level-based approach where animals spread their influence outward. Animals moving in opposite directions ...
Read MoreProgram to count minimum k length sublist that can be flipped to make all items of list to 0 in Python
Suppose we have a list of numbers called nums that contains 0s and 1s, and another value k representing the sublist length. We can perform an operation where we flip a sublist of length k such that all 1s become 0s and all 0s become 1s. We need to find the minimum number of operations required to change all numbers in nums to 0s. If it's impossible, we return -1. So, if the input is like nums = [1, 1, 1, 0, 0, 1, 1, 1], k = 3, then the output will be 2, as we can ...
Read MoreProgram to find minimum radius to light up all houses on a street in Python
Suppose we have a list of numbers called nums that represent positions of houses on a 1-dimensional line. We have 3 street lights that can be placed anywhere, and a light at position x with radius r lights up all houses in range [x - r, x + r], inclusive. We need to find the smallest radius r required to light up all houses. For example, if the input is nums = [4, 5, 6, 7], then the output will be 0.5. We can place the lamps at positions 4.5, 5.5, and 6.5 with radius r = 0.5 to ...
Read MoreProgram to find minimum digits sum of deleted digits in Python
When working with two digit strings, we sometimes need to remove characters to make them identical while minimizing the sum of deleted digits. This problem can be solved using dynamic programming with a variation of the Longest Common Subsequence (LCS) algorithm. Given two strings s and t containing only digits, we need to remove digits from both strings so that the remaining strings are identical, and the sum of deleted digits is minimized. Example If the input is s = "41272" and t = "172", we can remove "4" and "2" from the first string to get ...
Read MoreProgram to find minimum string size that contains given substring in Python
Given two strings s and t, we need to find the length of the minimum substring in s that contains all characters of t. If no such substring exists, we return -1. This is known as the Minimum Window Substring problem. For example, if s = "thegrumpywizardmakes" and t = "wake", the shortest substring containing all characters of "wake" is "wizardmake" with length 10. Algorithm We use the sliding window technique with two pointers ? Create a frequency counter for characters in string t Use two pointers (start and end) to maintain a sliding window ...
Read MoreProgram to count number of minimum swaps required to make it palindrome in Python
A palindrome is a string that reads the same forwards and backwards. To transform a string into a palindrome using minimum adjacent swaps, we need to check if it's possible and then calculate the swaps required. For a string to form a palindrome, at most one character can have an odd frequency (which would be the middle character in odd-length palindromes). Algorithm The solution involves two steps: Check if palindrome formation is possible by counting character frequencies Use two pointers to match characters from both ends, swapping adjacent elements when needed Example ...
Read MoreProgram to find minimum possible difference of indices of adjacent elements in Python
Given a list of numbers, two numbers nums[i] and nums[j] are considered adjacent when there is no number with a value between them in the original list. We need to find the minimum possible difference of indices |j - i| such that nums[j] and nums[i] are adjacent. For example, if the input is nums = [1, -9, 6, -6, 2], the output will be 2, as we can see that 2 and 6 are adjacent elements (no value between 2 and 6 exists in the list) and they are 2 indices apart. Algorithm Approach To solve this ...
Read More