2024-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.length2024-02-04
76. Minimum Window Substring
Topic: Hash Table, String, Sliding Window
Difficulty: Hard
Problem:
Given two strings
The testcases will be generated such that the answer is unique.
Example 1:
Example 2:
Example 3:
Constraints:
•
•
•
•
Follow up: Could you find an algorithm that runs in
76. Minimum Window Substring
Topic: Hash Table, String, Sliding Window
Difficulty: Hard
Problem:
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. If there is no such substring, return the empty string "".The testcases will be generated such that the answer is unique.
Example 1:
Input: s = "ADOBECODEBANC", t = "ABC"
Output: "BANC"
Explanation: The minimum window substring "BANC" includes 'A', 'B', and 'C' from string t.
Example 2:
Input: s = "a", t = "a"
Output: "a"
Explanation: The entire string s is the minimum window.
Example 3:
Input: s = "a", t = "aa"
Output: ""
Explanation: Both 'a's from t must be included in the window.
Since the largest window of s only has one 'a', return empty string.
Constraints:
•
m == s.length•
n == t.length•
1 <= m, n <= 10^5•
s and t consist of uppercase and lowercase English letters.Follow up: Could you find an algorithm that runs in
O(m + n) time?2024-02-05
387. First Unique Character in a String
Topic: Hash Table, String, Queue, Counting
Difficulty: Easy
Problem:
Given a string
Example 1:
Example 2:
Example 3:
Constraints:
•
•
387. First Unique Character in a String
Topic: Hash Table, String, Queue, Counting
Difficulty: Easy
Problem:
Given a string
s, find the first non-repeating character in it and return its index. If it does not exist, return -1.Example 1:
Input: s = "leetcode"
Output: 0
Example 2:
Input: s = "loveleetcode"
Output: 2
Example 3:
Input: s = "aabb"
Output: -1
Constraints:
•
1 <= s.length <= 10^5•
s consists of only lowercase English letters.2024-02-06
49. Group Anagrams
Topic: Array, Hash Table, String, Sorting
Difficulty: Medium
Problem:
Given an array of strings
An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
Example 1:
Example 2:
Example 3:
Constraints:
•
•
•
49. Group Anagrams
Topic: Array, Hash Table, String, Sorting
Difficulty: Medium
Problem:
Given an array of strings
strs, group the anagrams together. You can return the answer in any order.An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
Example 1:
Input: strs = ["eat","tea","tan","ate","nat","bat"]
Output: [["bat"],["nat","tan"],["ate","eat","tea"]]
Example 2:
Input: strs = [""]
Output: [[""]]
Example 3:
Input: strs = ["a"]
Output: [["a"]]
Constraints:
•
1 <= strs.length <= 10^4•
0 <= strs[i].length <= 100•
strs[i] consists of lowercase English letters.2024-02-07
451. Sort Characters By Frequency
Topic: Hash Table, String, Sorting, Heap (Priority Queue), Bucket Sort, Counting
Difficulty: Medium
Problem:
Given a string
Return the sorted string. If there are multiple answers, return any of them.
Example 1:
Example 2:
Example 3:
Constraints:
•
•
451. Sort Characters By Frequency
Topic: Hash Table, String, Sorting, Heap (Priority Queue), Bucket Sort, Counting
Difficulty: Medium
Problem:
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.Return the sorted string. If there are multiple answers, return any of them.
Example 1:
Input: s = "tree"
Output: "eert"
Explanation: 'e' appears twice while 'r' and 't' both appear once.
So 'e' must appear before both 'r' and 't'. Therefore "eetr" is also a valid answer.
Example 2:
Input: s = "cccaaa"
Output: "aaaccc"
Explanation: Both 'c' and 'a' appear three times, so both "cccaaa" and "aaaccc" are valid answers.
Note that "cacaca" is incorrect, as the same characters must be together.
Example 3:
Input: s = "Aabb"
Output: "bbAa"
Explanation: "bbaA" is also a valid answer, but "Aabb" is incorrect.
Note that 'A' and 'a' are treated as two different characters.
Constraints:
•
1 <= s.length <= 5 * 10^5•
s consists of uppercase and lowercase English letters and digits.2024-02-08
279. Perfect Squares
Topic: Math, Dynamic Programming, Breadth-First Search
Difficulty: Medium
Problem:
Given an integer
A perfect square is an integer that is the square of an integer; in other words, it is the product of some integer with itself. For example,
Example 1:
Example 2:
Constraints:
•
279. Perfect Squares
Topic: Math, Dynamic Programming, Breadth-First Search
Difficulty: Medium
Problem:
Given an integer
n, return the least number of perfect square numbers that sum to n.A perfect square is an integer that is the square of an integer; in other words, it is the product of some integer with itself. For example,
1, 4, 9, and 16 are perfect squares while 3 and 11 are not.Example 1:
Input: n = 12
Output: 3
Explanation: 12 = 4 + 4 + 4.
Example 2:
Input: n = 13
Output: 2
Explanation: 13 = 4 + 9.
Constraints:
•
1 <= n <= 10^42024-02-09
368. Largest Divisible Subset
Topic: Array, Math, Dynamic Programming, Sorting
Difficulty: Medium
Problem:
Given a set of distinct positive integers
•
•
If there are multiple solutions, return any of them.
Example 1:
Example 2:
Constraints:
•
•
• All the integers in
368. Largest Divisible Subset
Topic: Array, Math, Dynamic Programming, Sorting
Difficulty: Medium
Problem:
Given a set of distinct positive integers
nums, return the largest subset answer such that every pair (answer[i], answer[j]) of elements in this subset satisfies:•
answer[i] % answer[j] == 0, or•
answer[j] % answer[i] == 0If there are multiple solutions, return any of them.
Example 1:
Input: nums = [1,2,3]
Output: [1,2]
Explanation: [1,3] is also accepted.
Example 2:
Input: nums = [1,2,4,8]
Output: [1,2,4,8]
Constraints:
•
1 <= nums.length <= 1000•
1 <= nums[i] <= 2 * 10^9• All the integers in
nums are unique.2024-02-10
647. Palindromic Substrings
Topic: String, Dynamic Programming
Difficulty: Medium
Problem:
Given a string
A string is a palindrome when it reads the same backward as forward.
A substring is a contiguous sequence of characters within the string.
Example 1:
Example 2:
Constraints:
•
•
647. Palindromic Substrings
Topic: String, Dynamic Programming
Difficulty: Medium
Problem:
Given a string
s, return the number of palindromic substrings in it.A string is a palindrome when it reads the same backward as forward.
A substring is a contiguous sequence of characters within the string.
Example 1:
Input: s = "abc"
Output: 3
Explanation: Three palindromic strings: "a", "b", "c".
Example 2:
Input: s = "aaa"
Output: 6
Explanation: Six palindromic strings: "a", "a", "a", "aa", "aa", "aaa".
Constraints:
•
1 <= s.length <= 1000•
s consists of lowercase English letters.2024-02-11
1463. Cherry Pickup II
Topic: Array, Dynamic Programming, Matrix
Difficulty: Hard
Problem:
You are given a
You have two robots that can collect cherries for you:
• Robot #1 is located at the top-left corner
• Robot #2 is located at the top-right corner
Return the maximum number of cherries collection using both robots by following the rules below:
• From a cell
• When any robot passes through a cell, It picks up all cherries, and the cell becomes an empty cell.
• When both robots stay in the same cell, only one takes the cherries.
• Both robots cannot move outside of the grid at any moment.
• Both robots should reach the bottom row in
Example 1:
Image: https://assets.leetcode.com/uploads/2020/04/29/sample_1_1802.png
Example 2:
Image: https://assets.leetcode.com/uploads/2020/04/23/sample_2_1802.png
Constraints:
•
•
•
•
1463. Cherry Pickup II
Topic: Array, Dynamic Programming, Matrix
Difficulty: Hard
Problem:
You are given a
rows x cols matrix grid representing a field of cherries where grid[i][j] represents the number of cherries that you can collect from the (i, j) cell.You have two robots that can collect cherries for you:
• Robot #1 is located at the top-left corner
(0, 0), and• Robot #2 is located at the top-right corner
(0, cols - 1).Return the maximum number of cherries collection using both robots by following the rules below:
• From a cell
(i, j), robots can move to cell (i + 1, j - 1), (i + 1, j), or (i + 1, j + 1).• When any robot passes through a cell, It picks up all cherries, and the cell becomes an empty cell.
• When both robots stay in the same cell, only one takes the cherries.
• Both robots cannot move outside of the grid at any moment.
• Both robots should reach the bottom row in
grid.Example 1:
Image: https://assets.leetcode.com/uploads/2020/04/29/sample_1_1802.png
Input: grid = [[3,1,1],[2,5,1],[1,5,5],[2,1,1]]
Output: 24
Explanation: Path of robot #1 and #2 are described in color green and blue respectively.
Cherries taken by Robot #1, (3 + 2 + 5 + 2) = 12.
Cherries taken by Robot #2, (1 + 5 + 5 + 1) = 12.
Total of cherries: 12 + 12 = 24.
Example 2:
Image: https://assets.leetcode.com/uploads/2020/04/23/sample_2_1802.png
Input: grid = [[1,0,0,0,0,0,1],[2,0,0,0,0,3,0],[2,0,9,0,0,0,0],[0,3,0,5,4,0,0],[1,0,2,3,0,0,6]]
Output: 28
Explanation: Path of robot #1 and #2 are described in color green and blue respectively.
Cherries taken by Robot #1, (1 + 9 + 5 + 2) = 17.
Cherries taken by Robot #2, (1 + 3 + 4 + 3) = 11.
Total of cherries: 17 + 11 = 28.
Constraints:
•
rows == grid.length•
cols == grid[i].length•
2 <= rows, cols <= 70•
0 <= grid[i][j] <= 1002024-02-12
169. Majority Element
Topic: Array, Hash Table, Divide and Conquer, Sorting, Counting
Difficulty: Easy
Problem:
Given an array
The majority element is the element that appears more than
Example 1:
Example 2:
Constraints:
•
•
•
Follow-up: Could you solve the problem in linear time and in
169. Majority Element
Topic: Array, Hash Table, Divide and Conquer, Sorting, Counting
Difficulty: Easy
Problem:
Given an array
nums of size n, return the majority element.The majority element is the element that appears more than
⌊n / 2⌋ times. You may assume that the majority element always exists in the array.Example 1:
Input: nums = [3,2,3]
Output: 3
Example 2:
Input: nums = [2,2,1,1,1,2,2]
Output: 2
Constraints:
•
n == nums.length•
1 <= n <= 5 * 10^4•
-10^9 <= nums[i] <= 10^9Follow-up: Could you solve the problem in linear time and in
O(1) space?2024-02-13
2108. Find First Palindromic String in the Array
Topic: Array, Two Pointers, String
Difficulty: Easy
Problem:
Given an array of strings
A string is palindromic if it reads the same forward and backward.
Example 1:
Example 2:
Example 3:
Constraints:
•
•
•
2108. Find First Palindromic String in the Array
Topic: Array, Two Pointers, String
Difficulty: Easy
Problem:
Given an array of strings
words, return the first palindromic string in the array. If there is no such string, return an empty string "".A string is palindromic if it reads the same forward and backward.
Example 1:
Input: words = ["abc","car","ada","racecar","cool"]
Output: "ada"
Explanation: The first string that is palindromic is "ada".
Note that "racecar" is also palindromic, but it is not the first.
Example 2:
Input: words = ["notapalindrome","racecar"]
Output: "racecar"
Explanation: The first and only string that is palindromic is "racecar".
Example 3:
Input: words = ["def","ghi"]
Output: ""
Explanation: There are no palindromic strings, so the empty string is returned.
Constraints:
•
1 <= words.length <= 100•
1 <= words[i].length <= 100•
words[i] consists only of lowercase English letters.2024-02-14
2149. Rearrange Array Elements by Sign
Topic: Array, Two Pointers, Simulation
Difficulty: Medium
Problem:
You are given a 0-indexed integer array
You should rearrange the elements of
1. Every consecutive pair of integers have opposite signs.
2. For all integers with the same sign, the order in which they were present in
3. The rearranged array begins with a positive integer.
Return the modified array after rearranging the elements to satisfy the aforementioned conditions.
Example 1:
Example 2:
Constraints:
•
•
•
•
2149. Rearrange Array Elements by Sign
Topic: Array, Two Pointers, Simulation
Difficulty: Medium
Problem:
You are given a 0-indexed integer array
nums of even length consisting of an equal number of positive and negative integers.You should rearrange the elements of
nums such that the modified array follows the given conditions:1. Every consecutive pair of integers have opposite signs.
2. For all integers with the same sign, the order in which they were present in
nums is preserved.3. The rearranged array begins with a positive integer.
Return the modified array after rearranging the elements to satisfy the aforementioned conditions.
Example 1:
Input: nums = [3,1,-2,-5,2,-4]
Output: [3,-2,1,-5,2,-4]
Explanation:
The positive integers in nums are [3,1,2]. The negative integers are [-2,-5,-4].
The only possible way to rearrange them such that they satisfy all conditions is [3,-2,1,-5,2,-4].
Other ways such as [1,-2,2,-5,3,-4], [3,1,2,-2,-5,-4], [-2,3,-5,1,-4,2] are incorrect because they do not satisfy one or more conditions.
Example 2:
Input: nums = [-1,1]
Output: [1,-1]
Explanation:
1 is the only positive integer and -1 the only negative integer in nums.
So nums is rearranged to [1,-1].
Constraints:
•
2 <= nums.length <= 2 * 10^5•
nums.length is even•
1 <= |nums[i]| <= 10^5•
nums consists of equal number of positive and negative integers.2024-02-15
2971. Find Polygon With the Largest Perimeter
Topic: Array, Greedy, Sorting, Prefix Sum
Difficulty: Medium
Problem:
You are given an array of positive integers
A polygon is a closed plane figure that has at least
Conversely, if you have
The perimeter of a polygon is the sum of lengths of its sides.
Return the largest possible perimeter of a polygon whose sides can be formed from
Example 1:
Example 2:
Example 3:
Constraints:
•
•
2971. Find Polygon With the Largest Perimeter
Topic: Array, Greedy, Sorting, Prefix Sum
Difficulty: Medium
Problem:
You are given an array of positive integers
nums of length n.A polygon is a closed plane figure that has at least
3 sides. The longest side of a polygon is smaller than the sum of its other sides.Conversely, if you have
k (k >= 3) positive real numbers a_1, a_2, a_3, ..., a_k where a_1 <= a_2 <= a_3 <= ... <= a_k and a_1 + a_2 + a_3 + ... + a_k-1 > a_k, then there always exists a polygon with k sides whose lengths are a_1, a_2, a_3, ..., a_k.The perimeter of a polygon is the sum of lengths of its sides.
Return the largest possible perimeter of a polygon whose sides can be formed from
nums, or -1 if it is not possible to create a polygon.Example 1:
Input: nums = [5,5,5]
Output: 15
Explanation: The only possible polygon that can be made from nums has 3 sides: 5, 5, and 5. The perimeter is 5 + 5 + 5 = 15.
Example 2:
Input: nums = [1,12,1,2,5,50,3]
Output: 12
Explanation: The polygon with the largest perimeter which can be made from nums has 5 sides: 1, 1, 2, 3, and 5. The perimeter is 1 + 1 + 2 + 3 + 5 = 12.
We cannot have a polygon with either 12 or 50 as the longest side because it is not possible to include 2 or more smaller sides that have a greater sum than either of them.
It can be shown that the largest possible perimeter is 12.
Example 3:
Input: nums = [5,5,50]
Output: -1
Explanation: There is no possible way to form a polygon from nums, as a polygon has at least 3 sides and 50 > 5 + 5.
Constraints:
•
3 <= n <= 10^5•
1 <= nums[i] <= 10^92024-02-16
1481. Least Number of Unique Integers after K Removals
Topic: Array, Hash Table, Greedy, Sorting, Counting
Difficulty: Medium
Problem:
Given an array of integers
Example 1:
Example 2:
Constraints:
•
•
•
1481. Least Number of Unique Integers after K Removals
Topic: Array, Hash Table, Greedy, Sorting, Counting
Difficulty: Medium
Problem:
Given an array of integers
arr and an integer k. Find the least number of unique integers after removing exactly k elements.Example 1:
Input: arr = [5,5,4], k = 1
Output: 1
Explanation: Remove the single 4, only 5 is left.
Example 2:
Input: arr = [4,3,1,1,3,3,2], k = 3
Output: 2
Explanation: Remove 4, 2 and either one of the two 1s or three 3s. 1 and 3 will be left.
Constraints:
•
1 <= arr.length <= 10^5•
1 <= arr[i] <= 10^9•
0 <= k <= arr.length2024-02-17
1642. Furthest Building You Can Reach
Topic: Array, Greedy, Heap (Priority Queue)
Difficulty: Medium
Problem:
You are given an integer array
You start your journey from building
While moving from building
• If the current building's height is greater than or equal to the next building's height, you do not need a ladder or bricks.
• If the current building's height is less than the next building's height, you can either use one ladder or
Return the furthest building index (0-indexed) you can reach if you use the given ladders and bricks optimally.
Example 1:
Image: https://assets.leetcode.com/uploads/2020/10/27/q4.gif
Example 2:
Example 3:
Constraints:
•
•
•
•
1642. Furthest Building You Can Reach
Topic: Array, Greedy, Heap (Priority Queue)
Difficulty: Medium
Problem:
You are given an integer array
heights representing the heights of buildings, some bricks, and some ladders.You start your journey from building
0 and move to the next building by possibly using bricks or ladders.While moving from building
i to building i+1 (0-indexed),• If the current building's height is greater than or equal to the next building's height, you do not need a ladder or bricks.
• If the current building's height is less than the next building's height, you can either use one ladder or
(h[i+1] - h[i]) bricks.Return the furthest building index (0-indexed) you can reach if you use the given ladders and bricks optimally.
Example 1:
Image: https://assets.leetcode.com/uploads/2020/10/27/q4.gif
Input: heights = [4,2,7,6,9,14,12], bricks = 5, ladders = 1
Output: 4
Explanation: Starting at building 0, you can follow these steps:
- Go to building 1 without using ladders nor bricks since 4 >= 2.
- Go to building 2 using 5 bricks. You must use either bricks or ladders because 2 < 7.
- Go to building 3 without using ladders nor bricks since 7 >= 6.
- Go to building 4 using your only ladder. You must use either bricks or ladders because 6 < 9.
It is impossible to go beyond building 4 because you do not have any more bricks or ladders.
Example 2:
Input: heights = [4,12,2,7,3,18,20,3,19], bricks = 10, ladders = 2
Output: 7
Example 3:
Input: heights = [14,3,19,3], bricks = 17, ladders = 0
Output: 3
Constraints:
•
1 <= heights.length <= 10^5•
1 <= heights[i] <= 10^6•
0 <= bricks <= 10^9•
0 <= ladders <= heights.length2024-02-18
2402. Meeting Rooms III
Topic: Array, Hash Table, Sorting, Heap (Priority Queue), Simulation
Difficulty: Hard
Problem:
You are given an integer
You are given a 2D integer array
Meetings are allocated to rooms in the following manner:
1. Each meeting will take place in the unused room with the lowest number.
2. If there are no available rooms, the meeting will be delayed until a room becomes free. The delayed meeting should have the same duration as the original meeting.
3. When a room becomes unused, meetings that have an earlier original start time should be given the room.
Return the number of the room that held the most meetings. If there are multiple rooms, return the room with the lowest number.
A half-closed interval
Example 1:
Example 2:
Constraints:
•
•
•
•
• All the values of
2402. Meeting Rooms III
Topic: Array, Hash Table, Sorting, Heap (Priority Queue), Simulation
Difficulty: Hard
Problem:
You are given an integer
n. There are n rooms numbered from 0 to n - 1.You are given a 2D integer array
meetings where meetings[i] = [start_i, end_i] means that a meeting will be held during the half-closed time interval [start_i, end_i). All the values of start_i are unique.Meetings are allocated to rooms in the following manner:
1. Each meeting will take place in the unused room with the lowest number.
2. If there are no available rooms, the meeting will be delayed until a room becomes free. The delayed meeting should have the same duration as the original meeting.
3. When a room becomes unused, meetings that have an earlier original start time should be given the room.
Return the number of the room that held the most meetings. If there are multiple rooms, return the room with the lowest number.
A half-closed interval
[a, b) is the interval between a and b including a and not including b.Example 1:
Input: n = 2, meetings = [[0,10],[1,5],[2,7],[3,4]]
Output: 0
Explanation:
- At time 0, both rooms are not being used. The first meeting starts in room 0.
- At time 1, only room 1 is not being used. The second meeting starts in room 1.
- At time 2, both rooms are being used. The third meeting is delayed.
- At time 3, both rooms are being used. The fourth meeting is delayed.
- At time 5, the meeting in room 1 finishes. The third meeting starts in room 1 for the time period [5,10).
- At time 10, the meetings in both rooms finish. The fourth meeting starts in room 0 for the time period [10,11).
Both rooms 0 and 1 held 2 meetings, so we return 0.
Example 2:
Input: n = 3, meetings = [[1,20],[2,10],[3,5],[4,9],[6,8]]
Output: 1
Explanation:
- At time 1, all three rooms are not being used. The first meeting starts in room 0.
- At time 2, rooms 1 and 2 are not being used. The second meeting starts in room 1.
- At time 3, only room 2 is not being used. The third meeting starts in room 2.
- At time 4, all three rooms are being used. The fourth meeting is delayed.
- At time 5, the meeting in room 2 finishes. The fourth meeting starts in room 2 for the time period [5,10).
- At time 6, all three rooms are being used. The fifth meeting is delayed.
- At time 10, the meetings in rooms 1 and 2 finish. The fifth meeting starts in room 1 for the time period [10,12).
Room 0 held 1 meeting while rooms 1 and 2 each held 2 meetings, so we return 1.
Constraints:
•
1 <= n <= 100•
1 <= meetings.length <= 10^5•
meetings[i].length == 2•
0 <= start_i < end_i <= 5 * 10^5• All the values of
start_i are unique.2024-02-19
231. Power of Two
Topic: Math, Bit Manipulation, Recursion
Difficulty: Easy
Problem:
Given an integer
An integer
Example 1:
Example 2:
Example 3:
Constraints:
•
Follow up: Could you solve it without loops/recursion?
231. Power of Two
Topic: Math, Bit Manipulation, Recursion
Difficulty: Easy
Problem:
Given an integer
n, return true if it is a power of two. Otherwise, return false.An integer
n is a power of two, if there exists an integer x such that n == 2^x.Example 1:
Input: n = 1
Output: true
Explanation: 2^0 = 1
Example 2:
Input: n = 16
Output: true
Explanation: 2^4 = 16
Example 3:
Input: n = 3
Output: false
Constraints:
•
-2^31 <= n <= 2^31 - 1Follow up: Could you solve it without loops/recursion?
2024-02-20
268. Missing Number
Topic: Array, Hash Table, Math, Binary Search, Bit Manipulation, Sorting
Difficulty: Easy
Problem:
Given an array
Example 1:
Example 2:
Example 3:
Constraints:
•
•
•
• All the numbers of
Follow up: Could you implement a solution using only
268. Missing Number
Topic: Array, Hash Table, Math, Binary Search, Bit Manipulation, Sorting
Difficulty: Easy
Problem:
Given an array
nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array.Example 1:
Input: nums = [3,0,1]
Output: 2
Explanation: n = 3 since there are 3 numbers, so all numbers are in the range [0,3]. 2 is the missing number in the range since it does not appear in nums.
Example 2:
Input: nums = [0,1]
Output: 2
Explanation: n = 2 since there are 2 numbers, so all numbers are in the range [0,2]. 2 is the missing number in the range since it does not appear in nums.
Example 3:
Input: nums = [9,6,4,2,3,5,7,0,1]
Output: 8
Explanation: n = 9 since there are 9 numbers, so all numbers are in the range [0,9]. 8 is the missing number in the range since it does not appear in nums.
Constraints:
•
n == nums.length•
1 <= n <= 10^4•
0 <= nums[i] <= n• All the numbers of
nums are unique.Follow up: Could you implement a solution using only
O(1) extra space complexity and O(n) runtime complexity?