3Sum
Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0.
Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0.
Given an integer array nums of length n and an integer target, find three integers in nums such that the sum is closest to target.
Given a list of accounts where each element accounts[i] is a list of strings, where the first element accounts[i][0] is a name, and the rest of the elements are emails representing emails of the account.
Given two binary strings a and b, return their sum as a binary string.
You are given two non-empty linked lists representing two non-negative integers...
You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock.
Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums...
A path in a binary tree is a sequence of nodes where each pair of adjacent nodes in the sequence has an edge connecting them. A node can only appear in the sequence at most once.
Given the root of a binary tree, return the zigzag level order traversal of its nodes' values. (i.e., from left to right, then right to left for the next level and alternate between).
You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Return a deep copy (clone) of the graph.
You are given an integer array coins representing coins of different denominations and an integer amount representing a total amount of money.
Given an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum to target. You may return the combinations in any order.
Given two integer arrays preorder and inorder where preorder is the preorder traversal of a binary tree and inorder is the inorder traversal of the same tree, construct and return the binary tree.
Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.
Given an integer array nums where the elements are sorted in ascending order, convert it to a height-balanced binary search tree
For example, the pair [0, 1], indicates that to take course 0 you have to first take course 1. Return true if you can finish all courses. Otherwise, return false.
Return the ordering of courses you should take to finish all courses. If there are many valid answers, return any of them. If it is impossible to finish all courses, return an empty array.
Given an array of integers temperatures represents the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the ith day to get a warmer temperature.
Design a data structure that supports adding new words and finding if a string matches any previously added string.
Given an array nums of n integers where nums[i] is in the range [1,n], return an array of all the integers in the range [1,n] that do not appear in nums.
Given a sorted integer array arr, two integers k and x, return the k closest integers to x in the array.
You are given two integer arrays nums1 and nums2 sorted in ascending order and an integer k.
The median is the middle value in an ordered integer list. If the size of the list is even, there is no middle value, and the median is the mean of the two middle values.
Given the sorted rotated array nums of unique elements, return the minimum element of this array.
A peak element is an element that is strictly greater than its neighbors.
There is only one repeated number in nums, return this repeated number.
Given an unsorted integer array nums, return the smallest missing positive integer.
An image is represented by an m x n integer grid image where image[i][j] represents the pixel value of the image.
Given the integer array fruits, return the maximum number of fruits you can pick.
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
Given an array of strings strs, group the anagrams together. You can return the answer in any order.
Given an integer array nums representing the amount of money of each house, return *the maximum amount of money you can rob tonight without alerting the police.
Implement a first in first out (FIFO) queue using only two stacks. The implemented queue should support all the functions of a normal queue...
Implement the RandomizedSet class...
You are given an array of non-overlapping intervals intervals where intervals[i] = [starti, endi] represent the start and the end of the ith interval and intervals is sorted in ascending order by starti.
Given the root of a binary tree, invert the tree, and return its root.
You are given an integer array nums. You are initially positioned at the array's first index, and each element in the array represents your maximum jump length at that position.
Given the root of a binary search tree, and an integer k, return the kth smallest value (1-indexed) of all the values of the nodes in the tree.
Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. Return the answer in any order.
Given head, the head of a linked list, determine if the linked list has a cycle in it.
Write a function to find the longest common prefix string amongst an array of strings.
Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence.
Given an m x n integers matrix, return the length of the longest increasing path in matrix.
Given an integer array nums, return the length of the longest strictly increasing subsequence.
Given a string s, return the longest palindromic substring in s.
Return the length of the longest substring containing the same letter you can get after performing the above operations.
Given a string s, find the length of the longest substring without repeating characters.
Given a string containing just the characters '(' and ')', return the length of the longest valid (well-formed) parentheses substring.
Given a binary search tree (BST), find the lowest common ancestor (LCA) node of two given nodes in the BST.
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.
Design a data structure that follows the constraints of a Least Recently Used (LRU) cache.
Given an array nums of size n, return the majority element.
Given an m x n binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area.
Given the root of a binary tree, return its maximum depth.
Design a stack-like data structure to push elements to the stack and pop the most frequent element from the stack.
Given an integer array nums, find the subarray which has the largest sum and return its sum.
Given an integer array nums, return the maximum result of nums[i] XOR nums[j], where 0 <= i <= j < n.
Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.
Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals...
You are given an array of k linked-lists lists, each linked-list is sorted in ascending order.
You are given the heads of two sorted linked lists list1 and list2.
Given the head of a singly linked list, return the middle node of the linked list.
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray, return 0 instead.
Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window.
Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements.
The n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other.
A permutation of an array of integers is an arrangement of its members into a sequence or linear order.
Write a function that takes an unsigned integer and returns the number of '1' bits it has (also known as the Hamming weight).
Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands.
Given the head of a singly linked list, group all the nodes with odd indices together followed by the nodes with even indices, and return the reordered list.
There is an m x n rectangular island that borders both the Pacific Ocean and Atlantic Ocean. The Pacific Ocean touches the island's left and top edges, and the Atlantic Ocean touches the island's right and bottom edges.
Given the head of a singly linked list, return true if it is a palindrome or false otherwise.
Given an integer x, return true if x is a palindrome, and false otherwise.
Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s.
Given a string s, return the number of palindromic substrings in it.
Given a non-empty array nums containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal.
An array arr a mountain if the following properties hold...
Given two strings s1 and s2, return true if s2 contains a permutation of s1, or false otherwise.
Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.
Implement pow(x, n), which calculates x raised to the power n.
Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i].
You need to implement the function pickIndex(), which randomly picks an index in the range [0, w.length - 1] (inclusive) and returns it.
Given two strings ransomNote and magazine, return true if ransomNote can be constructed by using the letters from magazine and false otherwise.
Given the head of a sorted linked list, delete all duplicates such that each element appears only once.
Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val == val, and return the new head.
Given the head of a linked list, remove the nth node from the end of the list and return its head.
You are given the head of a singly linked-list...
Reverse bits of a given 32 bits unsigned integer.
Given a signed 32-bit integer x, return x with its digits reversed.
Given the head of a singly linked list, reverse the list, and return the reversed list.
Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position left to position right, and return the reversed list.
Given the head of a linked list, reverse the nodes of the list k at a time, and return the modified list.
You have to rotate the image in-place, which means you have to modify the input 2D matrix directly.
Given the roots of two binary trees p and q, write a function to check if they are the same or not.
Write an efficient algorithm that searches for a value target in an m x n integer matrix matrix.
Write an efficient algorithm that searches for a value target in an m x n integer matrix matrix.
Given the array nums after the possible rotation and an integer target, return the index of target if it is in nums, or -1 if it is not in nums.
Given the array nums after the rotation and an integer target, return true if target is in nums, or false if it is not in nums.
Design an algorithm to serialize and deserialize a binary tree.
Given an m x n integer matrix matrix, if an element is 0, set its entire row and column to 0's.
Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.
You are given an array of integers nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window.
Given a string s, sort it in decreasing order based on the frequency of the characters. The frequency of a character is the number of times it appears in the string.
Given an array nums with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white, and blue.
Given the head of a linked list, return the list after sorting it in ascending order.
Given an m x n matrix, return all elements of the matrix in spiral order.
Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order.
Implement the myAtoi(string s) function, which converts a string to a 32-bit signed integer (similar to C/C++'s atoi function).
Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals to k.
Given an integer array nums of unique elements, return all possible subsets (the power set).
Given an integer array nums that may contain duplicates, return all possible subsets (the power set).
Return the starting indices of all the concatenated substrings in s. You can return the answer in any order.
Given the roots of two binary trees root and subRoot, return true if there is a subtree of root with the same structure and node values of subRoot and false otherwise.
Write a program to solve a Sudoku puzzle by filling the empty cells.
Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).
Given a characters array tasks, representing the tasks a CPU needs to do, where each letter represents a different task.
Design a time-based key-value data structure that can store multiple values for the same key at different time stamps and retrieve the key's value at a certain timestamp.
Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order.
Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.
Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
There is a robot on an m x n grid. The robot is initially located at the top-left corner (i.e., grid[0][0])...
Given two strings s and t, return true if t is an anagram of s, and false otherwise.
A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers.
Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
Determine if a 9 x 9 Sudoku board is valid.
Given the root of a binary tree, determine if it is a valid binary search tree (BST).
Given a string s and a dictionary of strings wordDict, return true if s can be segmented into a space-separated sequence of one or more dictionary words.
A transformation sequence from word beginWord to word endWord using a dictionary wordList is a sequence of words beginWord -> s1 -> s2 -> ... -> sk such that...
Given an m x n grid of characters board and a string word, return true if word exists in the grid.
Given an m x n board of characters and a list of strings words, return all words on the board.