
- Главная
- Каталог
- Интернет технологии
- Java | LeetCode
Статистика канала
Input: points = [[1,3],[-2,2]], k = 1
Output: [[-2,2]]
Explanation:
The distance between (1, 3) and the origin is sqrt(10).
The distance between (-2, 2) and the origin is sqrt(8).
Since sqrt(8) < sqrt(10), (-2, 2) is closer to the origin.
We only want the closest k = 1 points from the origin, so the answer is just [[-2,2]].{}
class Solution {
fun kClosest(points: Array<IntArray>, k: Int): Array<IntArray> {
points.sortBy { squaredDistance(it) }
return points.take(k).toTypedArray()
}
private fun squaredDistance(point: IntArray): Int {
return point[0] * point[0] + point[1] * point[1]
}
}{}
Ставь 👍 и забирай 📚 Базу знаний
Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]{}
import java.util.*;
import java.util.stream.Collectors;
public class Solution {
public List<Integer> topKFrequent(int[] nums, int k) {
Map<Integer, Integer> count = new HashMap<>();
for (int num : nums) {
count.put(num, count.getOrDefault(num, 0) + 1);
}
PriorityQueue<Map.Entry<Integer, Integer>> heap = new PriorityQueue<>(
(a, b) -> b.getValue() - a.getValue());
heap.addAll(count.entrySet());
List<Integer> result = new ArrayList<>();
for (int i = 0; i < k; i++) {
result.add(heap.poll().getKey());
}
return result;
}
}{}
Ставь 👍 и забирай 📚 Базу знаний
Input: root = [1,2,3,4,null,2,4,null,null,4]
Output: [[2,4],[4]]{}
public class Solution {
public int maxA(int n) {
int[] dp = new int[n + 1];
for (int i = 1; i <= n; i++) {
dp[i] = dp[i - 1] + 1;
for (int j = 2; j < i; j++) {
dp[i] = Math.max(dp[i], dp[j - 2] * (i - j + 1));
}
}
return dp[n];
}
}{}
Ставь 👍 и забирай 📚 Базу знаний
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2]{}
public class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set1 = new HashSet<>();
for (int num : nums1) {
set1.add(num);
}
Set<Integer> set2 = new HashSet<>();
for (int num : nums2) {
set2.add(num);
}
set1.retainAll(set2);
int[] result = new int[set1.size()];
int i = 0;
for (int num : set1) {
result[i++] = num;
}
return result;
}
}{}
Ставь 👍 и забирай 📚 Базу знаний
Input: items = [[1,100],[7,100],[1,100],[7,100],[1,100],[7,100],[1,100],[7,100],[1,100],[7,100]]
Output: [[1,100],[7,100]]{}
class Solution {
private int K = 5;
public List<int[]> highFive(int[][] items) {
Arrays.sort(items, (a, b) -> {
if (a[0] != b[0]) return a[0] - b[0];
return b[1] - a[1];
});
List<int[]> solution = new ArrayList<>();
int n = items.length;
int i = 0;
while (i < n) {
int id = items[i][0];
int sum = 0;
for (int k = i; k < i + K; ++k) {
sum += items[k][1];
}
while (i < n && items[i][0] == id) {
i++;
}
solution.add(new int[]{id, sum / K});
}
return solution;
}
}{}
Ставь 👍 и забирай 📚 Базу знаний
Input: words = ["abcd","cdab","cbad","xyzz","zzxy","zzyx"]
Output: 3{}
import java.util.*;
class Solution {
public int numSpecialEquivGroups(String[] words) {
Set<String> uniqueForms = new HashSet<>();
for (String word : words) {
char[] evenChars = new char[(word.length() + 1) / 2];
char[] oddChars = new char[word.length() / 2];
for (int i = 0; i < word.length(); i++) {
if (i % 2 == 0) {
evenChars[i / 2] = word.charAt(i);
} else {
oddChars[i / 2] = word.charAt(i);
}
}
Arrays.sort(evenChars);
Arrays.sort(oddChars);
String canonicalForm = new String(evenChars) + new String(oddChars);
uniqueForms.add(canonicalForm);
}
return uniqueForms.size();
}{}
Ставь 👍 и забирай 📚 Базу знанийnums, чтобы получить следующую лексикографически большую перестановку.
Если такой не существует (массив в убывающем порядке) — отсортировать его по возрастанию.
Пример:
Input: nums = [1,2,3] Output: [1,3,2]{}
i.
i наименьшее число, большее nums[i], и поменять их местами.
i — они были в убывающем порядке, а нам нужно минимальное по возрастанию завершение.
public class Solution {
public void nextPermutation(int[] nums) {
int i = nums.length - 2;
while (i >= 0 && nums[i + 1] <= nums[i]) {
i--;
}
if (i >= 0) {
int j = nums.length - 1;
while (nums[j] <= nums[i]) {
j--;
}
swap(nums, i, j);
}
reverse(nums, i + 1);
}
private void reverse(int[] nums, int start) {
int i = start, j = nums.length - 1;
while (i < j) {
swap(nums, i, j);
i++;
j--;
}
}
private void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}{}
Ставь 👍 и забирай 📚 Базу знаний
Input: num = "257"
Output: "IOI"{}
public class Solution {
public String toHexString(String num) {
String hexStr = Long.toHexString(Long.parseLong(num)).toUpperCase().replace('0', 'O').replace('1', 'I');
for (char c : hexStr.toCharArray()) {
if ("ABCDEFIO".indexOf(c) == -1) {
return "ERROR";
}
}
return hexStr;
}
}{}
Ставь 👍 и забирай 📚 Базу знаний
Input: mat = [[3,3,1,1],[2,2,1,2],[1,1,1,2]]
Output: [[1,1,1,1],[1,2,2,2],[1,2,3,3]]{}
class Solution {
public int[][] diagonalSort(int[][] mat) {
int m = mat.length;
int n = mat[0].length;
Map<Integer, PriorityQueue<Integer>> diagonals = new HashMap<>();
for (int row = 0; row < m; row++) {
for (int col = 0; col < n; col++) {
int key = row - col;
diagonals.putIfAbsent(key, new PriorityQueue<>());
diagonals.get(key).add(mat[row][col]);
}
}
for (int row = 0; row < m; row++) {
for (int col = 0; col < n; col++) {
int key = row - col;
mat[row][col] = diagonals.get(key).poll();
}
}
return mat;
}
}{}
Ставь 👍 и забирай 📚 Базу знанийОтзывы канала
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Java | LeetCode — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 6.9K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 5.6, количество отзывов – 1, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 2097.9 ₽, а за 8 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий