Construction Problems¶
Table of Contents¶
- 942. DI String Match (Easy)
- 1968. Array With Elements Not Equal to Average of Neighbors (Medium)
- 1253. Reconstruct a 2-Row Binary Matrix (Medium)
- 2182. Construct String With Repeat Limit (Medium)
- 969. Pancake Sorting (Medium)
- 1605. Find Valid Matrix Given Row and Column Sums (Medium)
- 2375. Construct Smallest Number From DI String (Medium)
- 324. Wiggle Sort II (Medium)
- 667. Beautiful Arrangement II (Medium)
- 2122. Recover the Original Array (Hard)
- 932. Beautiful Array (Medium)
- 3311. Construct 2D Grid Matching Graph Layout (Hard)
- 2573. Find the String with LCP (Hard)
- 1982. Find Array Given Subset Sums (Hard)
- 280. Wiggle Sort (Medium) 👑
- 484. Find Permutation (Medium) 👑
- 1980. Find Unique Binary String (Medium)
942. DI String Match¶
-
LeetCode | LeetCode CH (Easy)
-
Tags: array, two pointers, string, greedy
1968. Array With Elements Not Equal to Average of Neighbors¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, greedy, sorting
1253. Reconstruct a 2-Row Binary Matrix¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, greedy, matrix
2182. Construct String With Repeat Limit¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: hash table, string, greedy, heap priority queue, counting
969. Pancake Sorting¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, two pointers, greedy, sorting
1605. Find Valid Matrix Given Row and Column Sums¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, greedy, matrix
2375. Construct Smallest Number From DI String¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: string, backtracking, stack, greedy
324. Wiggle Sort II¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, divide and conquer, greedy, sorting, quickselect
667. Beautiful Arrangement II¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, math
2122. Recover the Original Array¶
-
LeetCode | LeetCode CH (Hard)
-
Tags: array, hash table, two pointers, sorting, enumeration
932. Beautiful Array¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, math, divide and conquer
3311. Construct 2D Grid Matching Graph Layout¶
-
LeetCode | LeetCode CH (Hard)
-
Tags: array, hash table, graph, matrix
2573. Find the String with LCP¶
-
LeetCode | LeetCode CH (Hard)
-
Tags: array, string, dynamic programming, greedy, union find, matrix
1982. Find Array Given Subset Sums¶
-
LeetCode | LeetCode CH (Hard)
-
Tags: array, divide and conquer
280. Wiggle Sort¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, greedy, sorting
from typing import List
def wiggleSort(nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
n = len(nums)
for i in range(n - 1):
if i % 2 == 0:
if nums[i] > nums[i + 1]:
nums[i], nums[i + 1] = nums[i + 1], nums[i]
else:
if nums[i] < nums[i + 1]:
nums[i], nums[i + 1] = nums[i + 1], nums[i]
num = [3, 5, 2, 1, 6, 4]
wiggleSort(num)
print(num) # [3, 5, 1, 6, 2, 4]
#include <iostream>
#include <vector>
using namespace std;
void wiggleSort(vector<int>& nums) {
int n = nums.size();
for (int i = 0; i < n - 1; i++) {
if (i % 2 == 0) {
if (nums[i] > nums[i + 1]) swap(nums[i], nums[i + 1]);
} else {
if (nums[i] < nums[i + 1]) swap(nums[i], nums[i + 1]);
}
}
}
int main() {
vector<int> nums = {3, 5, 2, 1, 6, 4};
wiggleSort(nums);
// 3 5 1 6 2 4
for (size_t i = 0; i < nums.size(); i++) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
484. Find Permutation¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, string, stack, greedy
1980. Find Unique Binary String¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, hash table, string, backtracking