TGViewer
Java | LeetCode Java | LeetCode @easy_java_task · 6.45K subscribers
Post #2209 530
Задача: 1238. Circular Permutation in Binary Representation
Сложность: medium

Даны 2 целых числа n и start. Ваша задача - вернуть любую перестановку p из (0,1,2.....,2^n -1) такую, что : p[0] = start p[i] и p[i+1] отличаются только одним битом в их двоичном представлении. p[0] и p[2^n -1] также должны отличаться только одним битом в их двоичном представлении.

Пример:
Input: n = 2, start = 3
Output: [3,2,0,1]


👨‍💻 Алгоритм:

1⃣Генерация Грей-кода:
Генерация Грей-кода для чисел от 0 до 2𝑛−1

2⃣Определение начальной позиции:
Находим индекс числа start в последовательности Грей-кода.

3⃣Построение перестановки:
Формируем перестановку, начиная с числа start и следуя по циклическому Грей-коду.

😎 Решение:
import java.util.*;

public class Solution {
public List<Integer> circularPermutation(int n, int start) {
List<Integer> gray = grayCode(n);
int startIndex = gray.indexOf(start);
List<Integer> result = new ArrayList<>();
result.addAll(gray.subList(startIndex, gray.size()));
result.addAll(gray.subList(0, startIndex));
return result;
}

private List<Integer> grayCode(int n) {
List<Integer> result = new ArrayList<>();
int numElements = 1 << n;
for (int i = 0; i < numElements; i++) {
result.add(i ^ (i >> 1));
}
return result;
}
}


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_java_task
  1. Oct 10, 2026Post #2288
  2. Oct 9, 2026Задача: 1266. Minimum Time Visiting All Points Сложность: easy На двумерной плоскости имее…
  3. Oct 7, 2026Задача: 350. Intersection of Two Arrays II Сложность: easy Даны два целочисленных массива…
  4. Oct 7, 2026Задача: 1199. Minimum Time to Build Blocks Сложность: hard Вам дан список блоков, где bloc…
  5. Oct 7, 2026🔥 Скрытые вакансии с удаленной работой для Java разработчика, которые нигде больше не пуб…
  6. Oct 6, 2026Задача: 759. Employee Free Time Сложность: hard Нам дан список schedule of employees, кото…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →