Problem Statement Given a sorted integer array nums, remove duplicates in-place sothat each unique element appears no more than twice. Return the new length of the array. Key constraints: Must modify the input array in-place Space complexity must be O(1) The function receives the array by reference...
27. Remove Element Problem Link Remove Element Problem Description Given an array nums and a value val, remove all instances of that value in-place and return the new length. Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory....
Fibonacci Number (LeetCode 509) The Fibonacci seqeunce is defined as: F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) for n > 1 Example: Input: n = 4 Output: 3 (Sequence: 0, 1, 1, 2, 3) Solution using constant space: class Solution: def fib(self, n: int) -> int: if n < 2: return n # Initialize...
Hash tables provide O(1) average-time complexity for insertion, deletion, and lookup operations. They are the optimal choice when the primary requirement is rapidly verifying the existence of an element within a collection or tracking frequency counts. The core mechanism relies on a hash function th...
8. Find Pivot Index Problem: Given an integer array nums, find the pivot index where the sum of elements to the left equals the sum of elements to the right. If no such index exists, return -1. Solution Approach: Single-pass traversal class Solution { public int findPivotIndex(int[] nums) { int tota...
LeetCode 392: Is Subsequence Problem Description Given two strings s and t, determine if s is a subsequence of t. A subsequence is a sequence that can be derived from another sequence by deleting some or no characters without changing the order of the remaining characters. Dynamic Programming Soluti...
Solving dynamic programming problems systematically typically involves five key steps: Define the dp array (table) and the meaning of its indices. Determine the recurernce relation. Initialize the dp array correctly with base cases. Select the correct iteration order. Trace example values to verify...
Problem Description Given two integers n and k, return all possible comibnations of k numbers out of the range [1, n]. You may return the answer in any order. Example 1: Input: n = 4, k = 2 Output: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] Example 2: Input: n = 1, k = 1 Output: [[1]] Constraints...
When solving this problem initially, many developers might skip using a dummy head node and handle the swap directly. Here’s how that works: Define two nodes firstNode and secondNode to represent the adjacent pair being swapped, plus a nextPairHead to store the starting point of the next unprocessed...
Roman numerals utilize seven specific symbols: I, V, X, L, C, D, and M. Their corresponding values are: Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Numbers are formed by combining these symbols, typically written from largest to smallest value from left to right. For instance, "XII"...