Arrays Strings¶
Table of Contents¶
- 624. Maximum Distance in Arrays (Medium)
- 280. Wiggle Sort (Medium) 👑
- 1056. Confusing Number (Easy) 👑
- 1427. Perform String Shifts (Easy) 👑
- 161. One Edit Distance (Medium) 👑
- 186. Reverse Words in a String II (Medium) 👑
- 1055. Shortest Way to Form String (Medium) 👑
624. Maximum Distance in Arrays¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, greedy
624. Maximum Distance in Arrays - Python Solution
from typing import List
# Array
def maxDistance(arrays: List[List[int]]) -> int:
mn, mx = float("inf"), float("-inf")
res = 0
for arr in arrays:
res = max(res, arr[-1] - mn, mx - arr[0])
mn = min(mn, arr[0])
mx = max(mx, arr[-1])
return res
arrays = [[1, 2, 3], [4, 5], [1, 2, 3]]
print(maxDistance(arrays)) # 4
280. Wiggle Sort¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, greedy, sorting
280. Wiggle Sort - Python Solution
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]
280. Wiggle Sort - C++ Solution
#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;
}
1056. Confusing Number¶
-
LeetCode | LeetCode CH (Easy)
-
Tags: math
1427. Perform String Shifts¶
-
LeetCode | LeetCode CH (Easy)
-
Tags: array, math, string
161. One Edit Distance¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: two pointers, string
186. Reverse Words in a String II¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: two pointers, string
1055. Shortest Way to Form String¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: two pointers, string, binary search, greedy