2024-01-15
2225. Find Players With Zero or One Losses
Topic: Array, Hash Table, Sorting, Counting
Difficulty: Medium
Problem:
You are given an integer array
Return a list
•
•
The values in the two lists should be returned in increasing order.
Note:
• You should only consider the players that have played at least one match.
• The testcases will be generated such that no two matches will have the same outcome.
Example 1:
Example 2:
Constraints:
•
•
•
•
• All
2225. Find Players With Zero or One Losses
Topic: Array, Hash Table, Sorting, Counting
Difficulty: Medium
Problem:
You are given an integer array
matches where matches[i] = [winner_i, loser_i] indicates that the player winner_i defeated player loser_i in a match.Return a list
answer of size 2 where:•
answer[0] is a list of all players that have not lost any matches.•
answer[1] is a list of all players that have lost exactly one match.The values in the two lists should be returned in increasing order.
Note:
• You should only consider the players that have played at least one match.
• The testcases will be generated such that no two matches will have the same outcome.
Example 1:
Input: matches = [[1,3],[2,3],[3,6],[5,6],[5,7],[4,5],[4,8],[4,9],[10,4],[10,9]]
Output: [[1,2,10],[4,5,7,8]]
Explanation:
Players 1, 2, and 10 have not lost any matches.
Players 4, 5, 7, and 8 each have lost one match.
Players 3, 6, and 9 each have lost two matches.
Thus, answer[0] = [1,2,10] and answer[1] = [4,5,7,8].
Example 2:
Input: matches = [[2,3],[1,3],[5,4],[6,4]]
Output: [[1,2,5,6],[]]
Explanation:
Players 1, 2, 5, and 6 have not lost any matches.
Players 3 and 4 each have lost two matches.
Thus, answer[0] = [1,2,5,6] and answer[1] = [].
Constraints:
•
1 <= matches.length <= 10^5•
matches[i].length == 2•
1 <= winner_i, loser_i <= 10^5•
winner_i != loser_i• All
matches[i] are unique.2024-01-16
380. Insert Delete GetRandom O(1)
Topic: Array, Hash Table, Math, Design, Randomized
Difficulty: Medium
Problem:
Implement the
•
•
•
•
You must implement the functions of the class such that each function works in average
Example 1:
Constraints:
•
• At most
• There will be at least one element in the data structure when
380. Insert Delete GetRandom O(1)
Topic: Array, Hash Table, Math, Design, Randomized
Difficulty: Medium
Problem:
Implement the
RandomizedSet class:•
RandomizedSet() Initializes the RandomizedSet object.•
bool insert(int val) Inserts an item val into the set if not present. Returns true if the item was not present, false otherwise.•
bool remove(int val) Removes an item val from the set if present. Returns true if the item was present, false otherwise.•
int getRandom() Returns a random element from the current set of elements (it's guaranteed that at least one element exists when this method is called). Each element must have the same probability of being returned.You must implement the functions of the class such that each function works in average
O(1) time complexity.Example 1:
Input
["RandomizedSet", "insert", "remove", "insert", "getRandom", "remove", "insert", "getRandom"]
[[], [1], [2], [2], [], [1], [2], []]
Output
[null, true, false, true, 2, true, false, 2]
Explanation
RandomizedSet randomizedSet = new RandomizedSet();
randomizedSet.insert(1); // Inserts 1 to the set. Returns true as 1 was inserted successfully.
randomizedSet.remove(2); // Returns false as 2 does not exist in the set.
randomizedSet.insert(2); // Inserts 2 to the set, returns true. Set now contains [1,2].
randomizedSet.getRandom(); // getRandom() should return either 1 or 2 randomly.
randomizedSet.remove(1); // Removes 1 from the set, returns true. Set now contains [2].
randomizedSet.insert(2); // 2 was already in the set, so return false.
randomizedSet.getRandom(); // Since 2 is the only number in the set, getRandom() will always return 2.
Constraints:
•
-2^31 <= val <= 2^31 - 1• At most
2 *10^5 calls will be made to insert, remove, and getRandom.• There will be at least one element in the data structure when
getRandom is called.2024-01-17
1207. Unique Number of Occurrences
Topic: Array, Hash Table
Difficulty: Easy
Problem:
Given an array of integers
Example 1:
Example 2:
Example 3:
Constraints:
•
•
1207. Unique Number of Occurrences
Topic: Array, Hash Table
Difficulty: Easy
Problem:
Given an array of integers
arr, return true if the number of occurrences of each value in the array is unique or false otherwise.Example 1:
Input: arr = [1,2,2,1,1,3]
Output: true
Explanation: The value 1 has 3 occurrences, 2 has 2 and 3 has 1. No two values have the same number of occurrences.
Example 2:
Input: arr = [1,2]
Output: false
Example 3:
Input: arr = [-3,0,1,-3,1,1,1,-3,10,0]
Output: true
Constraints:
•
1 <= arr.length <= 1000•
-1000 <= arr[i] <= 10002024-01-18
70. Climbing Stairs
Topic: Math, Dynamic Programming, Memoization
Difficulty: Easy
Problem:
You are climbing a staircase. It takes
Each time you can either climb
Example 1:
Example 2:
Constraints:
•
70. Climbing Stairs
Topic: Math, Dynamic Programming, Memoization
Difficulty: Easy
Problem:
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?Example 1:
Input: n = 2
Output: 2
Explanation: There are two ways to climb to the top.
1. 1 step + 1 step
2. 2 steps
Example 2:
Input: n = 3
Output: 3
Explanation: There are three ways to climb to the top.
1. 1 step + 1 step + 1 step
2. 1 step + 2 steps
3. 2 steps + 1 step
Constraints:
•
1 <= n <= 452024-01-19
931. Minimum Falling Path Sum
Topic: Array, Dynamic Programming, Matrix
Difficulty: Medium
Problem:
Given an
A falling path starts at any element in the first row and chooses the element in the next row that is either directly below or diagonally left/right. Specifically, the next element from position
Example 1:
Image: https://assets.leetcode.com/uploads/2021/11/03/failing1-grid.jpg
Example 2:
Image: https://assets.leetcode.com/uploads/2021/11/03/failing2-grid.jpg
Constraints:
•
•
•
931. Minimum Falling Path Sum
Topic: Array, Dynamic Programming, Matrix
Difficulty: Medium
Problem:
Given an
n x n array of integers matrix, return the minimum sum of any falling path through matrix.A falling path starts at any element in the first row and chooses the element in the next row that is either directly below or diagonally left/right. Specifically, the next element from position
(row, col) will be (row + 1, col - 1), (row + 1, col), or (row + 1, col + 1).Example 1:
Image: https://assets.leetcode.com/uploads/2021/11/03/failing1-grid.jpg
Input: matrix = [[2,1,3],[6,5,4],[7,8,9]]
Output: 13
Explanation: There are two falling paths with a minimum sum as shown.
Example 2:
Image: https://assets.leetcode.com/uploads/2021/11/03/failing2-grid.jpg
Input: matrix = [[-19,57],[-40,-5]]
Output: -59
Explanation: The falling path with a minimum sum is shown.
Constraints:
•
n == matrix.length == matrix[i].length•
1 <= n <= 100•
-100 <= matrix[i][j] <= 1002024-01-20
907. Sum of Subarray Minimums
Topic: Array, Dynamic Programming, Stack, Monotonic Stack
Difficulty: Medium
Problem:
Given an array of integers arr, find the sum of
Example 1:
Example 2:
Constraints:
•
•
907. Sum of Subarray Minimums
Topic: Array, Dynamic Programming, Stack, Monotonic Stack
Difficulty: Medium
Problem:
Given an array of integers arr, find the sum of
min(b), where b ranges over every (contiguous) subarray of arr. Since the answer may be large, return the answer modulo 10^9 + 7.Example 1:
Input: arr = [3,1,2,4]
Output: 17
Explanation:
Subarrays are [3], [1], [2], [4], [3,1], [1,2], [2,4], [3,1,2], [1,2,4], [3,1,2,4].
Minimums are 3, 1, 2, 4, 1, 1, 2, 1, 1, 1.
Sum is 17.
Example 2:
Input: arr = [11,81,94,43,3]
Output: 444
Constraints:
•
1 <= arr.length <= 3 * 10^4•
1 <= arr[i] <= 3 * 10^42024-01-21
198. House Robber
Topic: Array, Dynamic Programming
Difficulty: Medium
Problem:
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security systems connected and it will automatically contact the police if two adjacent houses were broken into on the same night.
Given an integer array
Example 1:
Example 2:
Constraints:
•
•
198. House Robber
Topic: Array, Dynamic Programming
Difficulty: Medium
Problem:
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security systems connected and it will automatically contact the police if two adjacent houses were broken into on the same night.
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.Example 1:
Input: nums = [1,2,3,1]
Output: 4
Explanation: Rob house 1 (money = 1) and then rob house 3 (money = 3).
Total amount you can rob = 1 + 3 = 4.
Example 2:
Input: nums = [2,7,9,3,1]
Output: 12
Explanation: Rob house 1 (money = 2), rob house 3 (money = 9) and rob house 5 (money = 1).
Total amount you can rob = 2 + 9 + 1 = 12.
Constraints:
•
1 <= nums.length <= 100•
0 <= nums[i] <= 4002024-01-22
645. Set Mismatch
Topic: Array, Hash Table, Bit Manipulation, Sorting
Difficulty: Easy
Problem:
You have a set of integers
You are given an integer array
Find the number that occurs twice and the number that is missing and return them in the form of an array.
Example 1:
Example 2:
Constraints:
•
•
645. Set Mismatch
Topic: Array, Hash Table, Bit Manipulation, Sorting
Difficulty: Easy
Problem:
You have a set of integers
s, which originally contains all the numbers from 1 to n. Unfortunately, due to some error, one of the numbers in s got duplicated to another number in the set, which results in repetition of one number and loss of another number.You are given an integer array
nums representing the data status of this set after the error.Find the number that occurs twice and the number that is missing and return them in the form of an array.
Example 1:
Input: nums = [1,2,2,4]
Output: [2,3]
Example 2:
Input: nums = [1,1]
Output: [1,2]
Constraints:
•
2 <= nums.length <= 10^4•
1 <= nums[i] <= 10^42024-01-23
1239. Maximum Length of a Concatenated String with Unique Characters
Topic: Array, String, Backtracking, Bit Manipulation
Difficulty: Medium
Problem:
You are given an array of strings
Return the maximum possible length of
A subsequence is an array that can be derived from another array by deleting some or no elements without changing the order of the remaining elements.
Example 1:
Example 2:
Example 3:
Constraints:
•
•
•
1239. Maximum Length of a Concatenated String with Unique Characters
Topic: Array, String, Backtracking, Bit Manipulation
Difficulty: Medium
Problem:
You are given an array of strings
arr. A string s is formed by the concatenation of a subsequence of arr that has unique characters.Return the maximum possible length of
s.A subsequence is an array that can be derived from another array by deleting some or no elements without changing the order of the remaining elements.
Example 1:
Input: arr = ["un","iq","ue"]
Output: 4
Explanation: All the valid concatenations are:
- ""
- "un"
- "iq"
- "ue"
- "uniq" ("un" + "iq")
- "ique" ("iq" + "ue")
Maximum length is 4.
Example 2:
Input: arr = ["cha","r","act","ers"]
Output: 6
Explanation: Possible longest valid concatenations are "chaers" ("cha" + "ers") and "acters" ("act" + "ers").
Example 3:
Input: arr = ["abcdefghijklmnopqrstuvwxyz"]
Output: 26
Explanation: The only string in arr has all 26 characters.
Constraints:
•
1 <= arr.length <= 16•
1 <= arr[i].length <= 26•
arr[i] contains only lowercase English letters.2024-01-24
1457. Pseudo-Palindromic Paths in a Binary Tree
Topic: Bit Manipulation, Tree, Depth-First Search, Breadth-First Search, Binary Tree
Difficulty: Medium
Problem:
Given a binary tree where node values are digits from 1 to 9. A path in the binary tree is said to be pseudo-palindromic if at least one permutation of the node values in the path is a palindrome.
Return the number of pseudo-palindromic paths going from the root node to leaf nodes.
Example 1:
Image: https://assets.leetcode.com/uploads/2020/05/06/palindromic_paths_1.png
Example 2:
Image: https://assets.leetcode.com/uploads/2020/05/07/palindromic_paths_2.png
Example 3:
Constraints:
• The number of nodes in the tree is in the range
•
1457. Pseudo-Palindromic Paths in a Binary Tree
Topic: Bit Manipulation, Tree, Depth-First Search, Breadth-First Search, Binary Tree
Difficulty: Medium
Problem:
Given a binary tree where node values are digits from 1 to 9. A path in the binary tree is said to be pseudo-palindromic if at least one permutation of the node values in the path is a palindrome.
Return the number of pseudo-palindromic paths going from the root node to leaf nodes.
Example 1:
Image: https://assets.leetcode.com/uploads/2020/05/06/palindromic_paths_1.png
Input: root = [2,3,1,3,1,null,1]
Output: 2
Explanation: The figure above represents the given binary tree. There are three paths going from the root node to leaf nodes: the red path [2,3,3], the green path [2,1,1], and the path [2,3,1]. Among these paths only red path and green path are pseudo-palindromic paths since the red path [2,3,3] can be rearranged in [3,2,3] (palindrome) and the green path [2,1,1] can be rearranged in [1,2,1] (palindrome).
Example 2:
Image: https://assets.leetcode.com/uploads/2020/05/07/palindromic_paths_2.png
Input: root = [2,1,1,1,3,null,null,null,null,null,1]
Output: 1
Explanation: The figure above represents the given binary tree. There are three paths going from the root node to leaf nodes: the green path [2,1,1], the path [2,1,3,1], and the path [2,1]. Among these paths only the green path is pseudo-palindromic since [2,1,1] can be rearranged in [1,2,1] (palindrome).
Example 3:
Input: root = [9]
Output: 1
Constraints:
• The number of nodes in the tree is in the range
[1, 10^5].•
1 <= Node.val <= 92024-01-25
1143. Longest Common Subsequence
Topic: String, Dynamic Programming
Difficulty: Medium
Problem:
Given two strings
A subsequence of a string is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters.
• For example,
A common subsequence of two strings is a subsequence that is common to both strings.
Example 1:
Example 2:
Example 3:
Constraints:
•
•
1143. Longest Common Subsequence
Topic: String, Dynamic Programming
Difficulty: Medium
Problem:
Given two strings
text1 and text2, return the length of their longest common subsequence. If there is no common subsequence, return 0.A subsequence of a string is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters.
• For example,
"ace" is a subsequence of "abcde".A common subsequence of two strings is a subsequence that is common to both strings.
Example 1:
Input: text1 = "abcde", text2 = "ace"
Output: 3
Explanation: The longest common subsequence is "ace" and its length is 3.
Example 2:
Input: text1 = "abc", text2 = "abc"
Output: 3
Explanation: The longest common subsequence is "abc" and its length is 3.
Example 3:
Input: text1 = "abc", text2 = "def"
Output: 0
Explanation: There is no such common subsequence, so the result is 0.
Constraints:
•
1 <= text1.length, text2.length <= 1000•
text1 and text2 consist of only lowercase English characters.2024-01-26
576. Out of Boundary Paths
Topic: Dynamic Programming
Difficulty: Medium
Problem:
There is an
Given the five integers
Example 1:
Image: https://assets.leetcode.com/uploads/2021/04/28/out_of_boundary_paths_1.png
Example 2:
Image: https://assets.leetcode.com/uploads/2021/04/28/out_of_boundary_paths_2.png
Constraints:
•
•
•
•
576. Out of Boundary Paths
Topic: Dynamic Programming
Difficulty: Medium
Problem:
There is an
m x n grid with a ball. The ball is initially at the position [startRow, startColumn]. You are allowed to move the ball to one of the four adjacent cells in the grid (possibly out of the grid crossing the grid boundary). You can apply at most maxMove moves to the ball.Given the five integers
m, n, maxMove, startRow, startColumn, return the number of paths to move the ball out of the grid boundary. Since the answer can be very large, return it modulo 10^9 + 7.Example 1:
Image: https://assets.leetcode.com/uploads/2021/04/28/out_of_boundary_paths_1.png
Input: m = 2, n = 2, maxMove = 2, startRow = 0, startColumn = 0
Output: 6
Example 2:
Image: https://assets.leetcode.com/uploads/2021/04/28/out_of_boundary_paths_2.png
Input: m = 1, n = 3, maxMove = 3, startRow = 0, startColumn = 1
Output: 12
Constraints:
•
1 <= m, n <= 50•
0 <= maxMove <= 50•
0 <= startRow < m•
0 <= startColumn < n2024-01-27
629. K Inverse Pairs Array
Topic: Dynamic Programming
Difficulty: Hard
Problem:
For an integer array
Given two integers n and k, return the number of different arrays consist of numbers from
Example 1:
Example 2:
Constraints:
•
•
629. K Inverse Pairs Array
Topic: Dynamic Programming
Difficulty: Hard
Problem:
For an integer array
nums, an inverse pair is a pair of integers [i, j] where 0 <= i < j < nums.length and nums[i] > nums[j].Given two integers n and k, return the number of different arrays consist of numbers from
1 to n such that there are exactly k inverse pairs. Since the answer can be huge, return it modulo 10^9 + 7.Example 1:
Input: n = 3, k = 0
Output: 1
Explanation: Only the array [1,2,3] which consists of numbers from 1 to 3 has exactly 0 inverse pairs.
Example 2:
Input: n = 3, k = 1
Output: 2
Explanation: The array [1,3,2] and [2,1,3] have exactly 1 inverse pair.
Constraints:
•
1 <= n <= 1000•
0 <= k <= 10002024-01-28
1074. Number of Submatrices That Sum to Target
Topic: Array, Hash Table, Matrix, Prefix Sum
Difficulty: Hard
Problem:
Given a
A submatrix
Two submatrices
Example 1:
Image: https://assets.leetcode.com/uploads/2020/09/02/mate1.jpg
Example 2:
Example 3:
Constraints:
•
•
•
•
1074. Number of Submatrices That Sum to Target
Topic: Array, Hash Table, Matrix, Prefix Sum
Difficulty: Hard
Problem:
Given a
matrix and a target, return the number of non-empty submatrices that sum to target.A submatrix
x1, y1, x2, y2 is the set of all cells matrix[x][y] with x1 <= x <= x2 and y1 <= y <= y2.Two submatrices
(x1, y1, x2, y2) and (x1', y1', x2', y2') are different if they have some coordinate that is different: for example, if x1 != x1'.Example 1:
Image: https://assets.leetcode.com/uploads/2020/09/02/mate1.jpg
Input: matrix = [[0,1,0],[1,1,1],[0,1,0]], target = 0
Output: 4
Explanation: The four 1x1 submatrices that only contain 0.
Example 2:
Input: matrix = [[1,-1],[-1,1]], target = 0
Output: 5
Explanation: The two 1x2 submatrices, plus the two 2x1 submatrices, plus the 2x2 submatrix.
Example 3:
Input: matrix = [[904]], target = 0
Output: 0
Constraints:
•
1 <= matrix.length <= 100•
1 <= matrix[0].length <= 100•
-1000 <= matrix[i] <= 1000•
-10^8 <= target <= 10^82024-01-29
232. Implement Queue using Stacks
Topic: Stack, Design, Queue
Difficulty: Easy
Problem:
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
•
•
•
•
Notes:
• You must use only standard operations of a stack, which means only
• Depending on your language, the stack may not be supported natively. You may simulate a stack using a list or deque (double-ended queue) as long as you use only a stack's standard operations.
Example 1:
Constraints:
•
• At most
• All the calls to
Follow-up: Can you implement the queue such that each operation is amortized
232. Implement Queue using Stacks
Topic: Stack, Design, Queue
Difficulty: Easy
Problem:
Implement a first in first out (FIFO) queue using only two stacks. The implemented queue should support all the functions of a normal queue (
push, peek, pop, and empty).Implement the
MyQueue class:•
void push(int x) Pushes element x to the back of the queue.•
int pop() Removes the element from the front of the queue and returns it.•
int peek() Returns the element at the front of the queue.•
boolean empty() Returns true if the queue is empty, false otherwise.Notes:
• You must use only standard operations of a stack, which means only
push to top, peek/pop from top, size, and is empty operations are valid.• Depending on your language, the stack may not be supported natively. You may simulate a stack using a list or deque (double-ended queue) as long as you use only a stack's standard operations.
Example 1:
Input
["MyQueue", "push", "push", "peek", "pop", "empty"]
[[], [1], [2], [], [], []]
Output
[null, null, null, 1, 1, false]
Explanation
MyQueue myQueue = new MyQueue();
myQueue.push(1); // queue is: [1]
myQueue.push(2); // queue is: [1, 2] (leftmost is front of the queue)
myQueue.peek(); // return 1
myQueue.pop(); // return 1, queue is [2]
myQueue.empty(); // return false
Constraints:
•
1 <= x <= 9• At most
100 calls will be made to push, pop, peek, and empty.• All the calls to
pop and peek are valid.Follow-up: Can you implement the queue such that each operation is amortized
O(1) time complexity? In other words, performing n operations will take overall O(n) time even if one of those operations may take longer.2024-01-30
150. Evaluate Reverse Polish Notation
Topic: Array, Math, Stack
Difficulty: Medium
Problem:
You are given an array of strings
Evaluate the expression. Return an integer that represents the value of the expression.
Note that:
• The valid operators are
• Each operand may be an integer or another expression.
• The division between two integers always truncates toward zero.
• There will not be any division by zero.
• The input represents a valid arithmetic expression in a reverse polish notation.
• The answer and all the intermediate calculations can be represented in a 32-bit integer.
Example 1:
Example 2:
Example 3:
Constraints:
•
•
150. Evaluate Reverse Polish Notation
Topic: Array, Math, Stack
Difficulty: Medium
Problem:
You are given an array of strings
tokens that represents an arithmetic expression in a Reverse Polish Notation.Evaluate the expression. Return an integer that represents the value of the expression.
Note that:
• The valid operators are
'+', '-', '*', and '/'.• Each operand may be an integer or another expression.
• The division between two integers always truncates toward zero.
• There will not be any division by zero.
• The input represents a valid arithmetic expression in a reverse polish notation.
• The answer and all the intermediate calculations can be represented in a 32-bit integer.
Example 1:
Input: tokens = ["2","1","+","3","*"]
Output: 9
Explanation: ((2 + 1) * 3) = 9
Example 2:
Input: tokens = ["4","13","5","/","+"]
Output: 6
Explanation: (4 + (13 / 5)) = 6
Example 3:
Input: tokens = ["10","6","9","3","+","-11","*","/","*","17","+","5","+"]
Output: 22
Explanation: ((10 * (6 / ((9 + 3) * -11))) + 17) + 5
= ((10 * (6 / (12 * -11))) + 17) + 5
= ((10 * (6 / -132)) + 17) + 5
= ((10 * 0) + 17) + 5
= (0 + 17) + 5
= 17 + 5
= 22
Constraints:
•
1 <= tokens.length <= 10^4•
tokens[i] is either an operator: "+", "-", "*", or "/", or an integer in the range [-200, 200].2024-01-31
739. Daily Temperatures
Topic: Array, Stack, Monotonic Stack
Difficulty: Medium
Problem:
Given an array of integers
Example 1:
Example 2:
Example 3:
Constraints:
•
•
739. Daily Temperatures
Topic: Array, Stack, Monotonic Stack
Difficulty: Medium
Problem:
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 i^th day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead.Example 1:
Input: temperatures = [73,74,75,71,69,72,76,73]
Output: [1,1,4,2,1,1,0,0]
Example 2:
Input: temperatures = [30,40,50,60]
Output: [1,1,1,0]
Example 3:
Input: temperatures = [30,60,90]
Output: [1,1,0]
Constraints:
•
1 <= temperatures.length <= 10^5•
30 <= temperatures[i] <= 1002024-02-01
2966. Divide Array Into Arrays With Max Difference
Topic: Array, Greedy, Sorting
Difficulty: Medium
Problem:
You are given an integer array
Divide the array into one or more arrays of size
• Each element of
• The difference between any two elements in one array is less than or equal to
Return a 2D array containing all the arrays. If it is impossible to satisfy the conditions, return an empty array. And if there are multiple answers, return any of them.
Example 1:
Example 2:
Constraints:
•
•
•
•
•
2966. Divide Array Into Arrays With Max Difference
Topic: Array, Greedy, Sorting
Difficulty: Medium
Problem:
You are given an integer array
nums of size n and a positive integer k.Divide the array into one or more arrays of size
3 satisfying the following conditions:• Each element of
nums should be in exactly one array.• The difference between any two elements in one array is less than or equal to
k.Return a 2D array containing all the arrays. If it is impossible to satisfy the conditions, return an empty array. And if there are multiple answers, return any of them.
Example 1:
Input: nums = [1,3,4,8,7,9,3,5,1], k = 2
Output: [[1,1,3],[3,4,5],[7,8,9]]
Explanation: We can divide the array into the following arrays: [1,1,3], [3,4,5] and [7,8,9].
The difference between any two elements in each array is less than or equal to 2.
Note that the order of elements is not important.
Example 2:
Input: nums = [1,3,3,2,7,3], k = 3
Output: []
Explanation: It is not possible to divide the array satisfying all the conditions.
Constraints:
•
n == nums.length•
1 <= n <= 10^5•
n is a multiple of 3.•
1 <= nums[i] <= 10^5•
1 <= k <= 10^52024-02-02
1291. Sequential Digits
Topic: Enumeration
Difficulty: Medium
Problem:
An integer has sequential digits if and only if each digit in the number is one more than the previous digit.
Return a sorted list of all the integers in the range
Example 1:
Example 2:
Constraints:
•
1291. Sequential Digits
Topic: Enumeration
Difficulty: Medium
Problem:
An integer has sequential digits if and only if each digit in the number is one more than the previous digit.
Return a sorted list of all the integers in the range
[low, high] inclusive that have sequential digits.Example 1:
Input: low = 100, high = 300
Output: [123,234]
Example 2:
Input: low = 1000, high = 13000
Output: [1234,2345,3456,4567,5678,6789,12345]
Constraints:
•
10 <= low <= high <= 10^92024-02-03
1043. Partition Array for Maximum Sum
Topic: Array, Dynamic Programming
Difficulty: Medium
Problem:
Given an integer array
Return the largest sum of the given array after partitioning. Test cases are generated so that the answer fits in a 32-bit integer.
Example 1:
Example 2:
Example 3:
Constraints:
•
•
•
1043. Partition Array for Maximum Sum
Topic: Array, Dynamic Programming
Difficulty: Medium
Problem:
Given an integer array
arr, partition the array into (contiguous) subarrays of length at most k. After partitioning, each subarray has their values changed to become the maximum value of that subarray.Return the largest sum of the given array after partitioning. Test cases are generated so that the answer fits in a 32-bit integer.
Example 1:
Input: arr = [1,15,7,9,2,5,10], k = 3
Output: 84
Explanation: arr becomes [15,15,15,9,10,10,10]
Example 2:
Input: arr = [1,4,1,5,7,3,6,1,9,9,3], k = 4
Output: 83
Example 3:
Input: arr = [1], k = 1
Output: 1
Constraints:
•
1 <= arr.length <= 500•
0 <= arr[i] <= 10^9•
1 <= k <= arr.length