The Look and Say Sequence is a famous sequence where each term describes the previous term by counting consecutive identical digits. Starting with "1", each subsequent term is generated by reading the previous term aloud. Understanding the Sequence The first few terms of the Look and Say sequence are: Term 1: 1 Term 2: 11 (one 1) Term 3: 21 (two 1s) Term 4: 1211 (one 2, one 1) Term 5: 111221 (one 1, one 2, two 1s) Each term is formed by counting consecutive identical digits in the previous term and stating the ... Read More
Finding the longest substring where each character appears at least k times is a classic divide and conquer problem. We need to recursively split the string at characters that don't meet the frequency requirement. So, if the input is like s = "aabccddeeffghij" k = 2, then the output will be 8, as the longest substring here is "ccddeeff" where every character occurs at least 2 times. Algorithm To solve this, we will follow these steps − Count frequency of all characters in the string If all characters occur at least k times, return the ... Read More
Given a list of numbers and a value k, we need to find the length of the longest sublist where the absolute difference between the largest and smallest element is ≤ k. This is a classic sliding window problem that can be solved efficiently using deques. So, if the input is like nums = [2, 4, 6, 10] and k = 4, then the output will be 3, as we can select [2, 4, 6] where the absolute difference is 4. Algorithm Approach We use a sliding window technique with two deques to track maximum and minimum ... Read More
In this problem, we have a binary list containing only 0s and 1s, and we can flip at most k zeros to ones. Our goal is to find the length of the longest contiguous subarray that contains all 1s after performing these flips. For example, if the input is nums = [0, 1, 1, 0, 0, 1, 1] and k = 2, we can flip the two middle 0s to get [0, 1, 1, 1, 1, 1, 1], resulting in a longest sequence of 6 consecutive 1s. Algorithm Approach We'll use the sliding window technique to solve ... Read More
Suppose we have a list of numbers called nums. We have to find the length of the longest sublist (minimum length 3) whose values are strictly increasing and then strictly decreasing. So, if the input is like nums = [8, 2, 4, 6, 3, 1], then the output will be 5, as the sublist [2, 4, 6, 3, 1] is strictly increasing then decreasing. Algorithm To solve this, we will follow these steps − Initialize variables: i = 0, n = size of array, res = -infinity ... Read More
Suppose we have a list of numbers called nums, we have to find the length of longest subsequence that flips sign on each consecutive number. A sign alternating subsequence means each consecutive pair of numbers has opposite signs (positive followed by negative, or negative followed by positive). So, if the input is like nums = [1, 3, -6, 4, -3], then the output will be 4, as we can pick [1, -6, 4, -3]. Algorithm To solve this, we will follow these steps − pos := 0, neg := 0 ... Read More
Suppose we have a list of intervals where each interval is in form [start, end]. We have to find the longest interval that we can make by merging any number of overlapping intervals. So, if the input is like [[1, 6], [4, 9], [5, 6], [11, 14], [16, 20]], then the output will be 9, as after merging, we have the interval [1, 9] of length 9. Algorithm Steps To solve this, we will follow these steps − Sort the list of intervals by start time Initialize union with the first interval from the intervals ... Read More
Given a list of strictly increasing positive numbers, we need to find the length of the longest Fibonacci-like subsequence. A Fibonacci-like subsequence has at least 3 elements where each element equals the sum of the two preceding elements: A[i] = A[i-1] + A[i-2]. For example, if the input is nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], the output will be 6 because we can form the subsequence [1, 2, 3, 5, 8, 13]. Algorithm The approach uses a brute force method with the following steps: Convert ... Read More
Suppose we have a binary string s. If we can swap at most one pair of characters in the string, we have to find the resulting length of the longest contiguous substring of 1s. So, if the input is like s = "1111011111", then the output will be 9, as we can swap s[4] and s[9] to get 9 consecutive 1s. Algorithm To solve this, we will follow these steps − l := 0, cnt := 0, ans := 0 for r in range 0 to size ... Read More
Suppose we have two sorted linked lists L1 and L2, we have to return a new sorted linked list that is the union of the two given lists. The union contains all unique elements from both lists in sorted order. So, if the input is like L1 = [10, 20, 30, 40, 50, 60, 70] L2 = [10, 30, 50, 80, 90], then the output will be [10, 20, 30, 40, 50, 60, 70, 80, 90] Algorithm To solve this, we will follow these steps − Define a function solve(). This ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Economics & Finance