Skip to main content

Posts

3. Longest Substring Without Repeating Characters 3. Longest Substring Without Repeating Characters Problem Statement Given a string s , find the length of the longest substring without repeating characters. Examples Example 1: Input: s = "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. Example 2: Input: s = "bbbbb" Output: 1 Explanation: The answer is "b", with the length of 1. Difficulty Medium Constraints 0 ≤ s.length ≤ 5 * 10⁴ s consists of English letters, digits, symbols and spaces. Solution 1: Sliding Window (Using Two pointers + Hash Table) Approach: Initialize an empty Set to store characters of the current window. Use two pointers i and j to represent the window. j is the leading pointer, and i is the trailing pointer. Iterate through the string with j . If the character s[j] is already in ...
1. Two Sum Problem Statement Given an array of integers nums and an integer target , return indices of the two numbers such that they add up to target . You may assume that each input has exactly one solution, and you may not use the same element twice. You can return the answer in any order. Examples Example 1: Input: nums = [2,7,11,15], target = 9 Output: [0,1] Explanation: Because nums[0] + nums[1] == 9, we return [0, 1]. Example 2: Input: nums = [3,2,4], target = 6 Output: [1,2] Example 3: Input: nums = [3,3], target = 6 Output: [0,1] Difficulty Easy Constraints 2 ≤ nums.length ≤ 10⁴ -10⁹ ≤ nums[i] ≤ 10⁹ -10⁹ ≤ target ≤ 10⁹ Only one valid answer exists Solution 1: Using Hash Map Approach: Use a hash map to store value → index Iterate through array Check complement (target - current value) If found, return answer Else store value Java class Solution { public int[] twoSum(int[] nums, int target) {...
5. Longest Palindromic Substring - Solution 5. Longest Palindromic Substring Problem Statement Given a string s , return the longest palindromic substring in s . Examples Example 1: Input: s = "babad" Output: "bab" Explanation: "aba" is also a valid answer. Example 2: Input: s = "cbbd" Output: "bb" Difficulty Medium Solution 1: Dynamic Programming Approach: We use a 2D array dp[i][j] to track whether the substring s[i...j] is a palindrome. The core idea is that a string is a palindrome if its first and last characters are equal and the inner substring is also a palindrome. Specifically, dp[i][j] is true if s[i] == s[j] and either the substring length is less than or equal to 3 (like "aba" or "aa"), or the precomputed value dp[i+1][j-1] is true. We iterate through all possible lengths and starting positions, filling the...
128. Longest Consecutive Sequence - Solution 128. Longest Consecutive Sequence Problem Statement Given an unsorted array of integers nums , return the length of the longest consecutive elements sequence. You must write an algorithm that runs in O(n) time. Examples Example 1: Input: nums = [100,4,200,1,3,2] Output: 4 Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length is 4. Example 2: Input: nums = [0,3,7,2,5,8,4,6,0,1] Output: 9 Difficulty Hard Solution 1: Sorting Approach: Sort the array and traverse it. Skip duplicates. If the current number is prev + 1 , increment the count; otherwise, reset it. Keep track of the maximum count. Java class Solution { public int longestConsecutive(int[] nums) { if (nums.length == 0) return 0; Arrays.sort(nums); int ans = 1, t = 1; for (int i = 1; i C++ class Solution { publi...
133. Clone Graph - Solution 133. Clone Graph Problem Statement Given a reference of a node in a connected undirected graph, return a deep copy (clone) of the graph. Each node in the graph contains a value ( int ) and a list ( List[Node] ) of its neighbors. class Node { public int val; public List<Node> neighbors; } Test case format: For simplicity, each node's value is the same as the node's index (1-indexed). For example, the first node with val = 1 , the second node with val = 2 , and so on. The graph is represented in the test case using an adjacency list. An adjacency list is a collection of unordered lists used to represent a finite graph. Each list describes the set of neighbors of a node in the graph. The given node will always be the first node with val = 1 . You must return the copy of the given node as a reference to the cloned graph. Examples Example 1: Input: a...