Запитання для інтерв’ю з цитаделлю

Запитання про масив Цитаделі

Питання 1. Розчин для уловлювання дощової води Leetcode Постановка проблеми Рішення LeetCode «Захоплення дощової води» – «Захоплення дощової води» стверджує, що заданий масив висот, який представляє карту висот, де ширина кожного стовпчика дорівнює 1. Нам потрібно знайти кількість води, яка утримується після дощу. Приклад: Вхід: висота = [0,1,0,2,1,0,1,3,2,1,2,1] Вихід: 6 Пояснення: Перевірте ...

докладніше

Питання 2. Рішення для зміни монети 2 Leetcode Постановка проблеми. Рішення LeetCode 2 Coin Change 2 – «Coin Change XNUMX» стверджує, що заданий масив різних цілих монет і ціла сума, що представляє загальну суму грошей. Нам потрібно повернути підрахунок загальної кількості різних можливих комбінацій, які підсумовують суму. ...

докладніше

Питання 3. Кількість пар індексів з рівними елементами в масиві Припустимо, ми дали цілочисельний масив. Задача “Кількість пар індексів з рівними елементами в масиві” вимагає з’ясувати значення пари індексів (i, j) таким чином, що arr [i] = arr [j], а i не дорівнює j . Приклад arr [] = {2,3,1,2,3,1,4} 3 пари пояснення ...

докладніше

Питання 4. Найдовший підмасив, що не має більше ніж K різних елементів Проблема "Найдовший підмасив, що не має більше ніж K різних елементів", стверджує, що, припустимо, у вас є масив цілих чисел, постановка проблеми вимагає виявити найдовший підмасив, який має не більше k різних елементів. Приклад arr [] = {4, 3, 5, 2, 1, 2, 0, 4, 5} ...

докладніше

Питання 5. Мінімальна операція для зрівняння всіх елементів у масиві Проблема “Мінімальна операція з метою зрівняння всіх елементів у масиві” стверджує, що вам надано масив із деякими цілими числами. Ви повинні з’ясувати мінімальні операції, які можна зробити, щоб зробити масив рівним. Приклад [1,3,2,4,1] 3 Пояснення Будь-які 3 віднімання можуть бути ...

докладніше

Питання 6. Різниця між найвищою та найменшою частотами в масиві Проблема "Різниця між найвищою та найменшою частотами в масиві" стверджує, що припускаємо, що у вас є цілочисельний масив. Постановка задачі вимагає з’ясувати максимальну різницю між найвищою частотою та найнижчою частотою двох різних чисел у масиві. Приклад arr [] = {1, 2, 3, ...

докладніше

Питання 7. k-й відсутній елемент у зростаючій послідовності, якого немає в заданій послідовності Проблема "k-й відсутній елемент у зростаючій послідовності, якого немає у даній послідовності", говорить про те, що вам дано два масиви. Один з них розміщений у порядку зростання, а інший звичайний невідсортований масив з номером k. Знайдіть k-й відсутній елемент, якого немає у звичайному ...

докладніше

Питання 8. Перевірте, чи містить заданий масив повторювані елементи на відстані k відстані один від одного Проблема “Перевірити, чи містить заданий масив повторювані елементи на відстані k один від одного”, стверджує, що ми повинні перевірити наявність дублікатів у даному невпорядкованому масиві в межах діапазону k. Тут значення k менше, ніж заданий масив. Приклади K = 3 arr [] = ...

докладніше

Питання 9. Знайдіть усі пари (a, b) у масиві такі, що a% b = k Постановка проблеми Проблема “Знайти всі пари (a, b) у масиві таким чином, що a% b = k” стверджує, що вам надано масив цілих чисел і ціле число, що називається k. Постановка задачі просить з’ясувати пару таким чином, що х ...

докладніше

Питання 10. Запити на XOR найбільшого непарного дільника діапазону Постановка проблеми У задачі “Запити на XOR найбільшого непарного дільника діапазону” зазначено, що вам надано масив цілих чи запитів q, кожен запит складається з діапазону. Постановка задачі вимагає з’ясувати XOR найбільшого непарного дільника в заданому діапазоні ...

докладніше

Питання 11. Тристороннє розділення масиву навколо заданого діапазону Положення про проблему Вам надано масив цілих чисел та діапазон lowValue та highValue. Проблема "Тристороннє розділення масиву навколо заданого діапазону" просить розділити масив таким чином, що масив буде розділений на три частини. Розділами масивів будуть: Елементи ...

докладніше

Питання 12. Замініть два послідовних рівні значення на одне більше Постановка проблеми Припустимо, у вас є цілочисельний масив. Задача «Замінити два послідовних рівні значення на одне більшим» просить замінити всі ці значення пари, наприклад «a», яке послідовно надходить на число «a + 1» 1 більше за них (два послідовних числа), так що навіть після модифікації або повторення там ...

докладніше

Питання 13. Знайдіть відсортовану підпослідовність розміру 3 за лінійний час Постановка проблеми Проблема «Знайти відсортовану підпослідовність розміру 3 за лінійний час» стверджує, що у вас є цілочисельний масив. Постановка задачі вимагає з’ясувати три числа таким чином, щоб масив [i] <масив [k] <масив [k] та i <j <k. Приклад arr [] ...

докладніше

Питання 14. Впорядкуйте масив по порядку - найменший, найбільший, 2-й найменший, 2-й найбільший Постановка проблеми Припустимо, у вас є цілочисельний масив. Задача «Переставити масив по порядку - найменший, найбільший, 2-й найменший, 2-й найбільший, ..» просить переставити масив таким чином, щоб спочатку найменше число стояло, а потім найбільше число, потім друге найменше, а потім друге ...

докладніше

Питання 15. Підрахувати пари з двох відсортованих масивів, сума яких дорівнює заданому значенню x Постановка проблеми “Підрахувати пари з двох відсортованих масивів, сума яких дорівнює заданому значенню x”, говорить про те, що вам дано два відсортовані масиви цілих чисел і ціле значення, яке називається sum. Постановка задачі вимагає з'ясувати загальну кількість пари, яка складає ...

докладніше

Питання 16. Друк дужок у задачі множення матричного ланцюга Постановка задачі Нам потрібно знайти порядок множення матриць таким, щоб кількість операцій, що беруть участь у множенні всіх матриць, було мінімізовано. Тоді нам потрібно надрукувати це замовлення, тобто надрукувати дужки у задачі множення ланцюжків матриць. Вважайте, що у вас є 3 матриці A, B, ...

докладніше

Питання 17. Вставити Видалити GetRandom У проблемі Вставити Видалити GetRandom нам потрібно розробити структуру даних, яка підтримує всі наступні операції в середньому O (1) часу. insert (val): вставляє елемент val до набору, якщо він ще не присутній. remove (val): видаляє елемент val з набору, якщо він присутній. getRandom: Повертає випадковий елемент із поточного набору ...

докладніше

Питання 18. Збільшення послідовності довжини три з максимальним продуктом Постановка проблеми У задачі “Збільшення послідовності довжини три з максимальним продуктом” ми навели масив цілих додатних чисел. Знайдіть підпослідовність довжини 3 з максимальним добутком. Наступність повинна зростати. Формат введення Перший і єдиний рядок, що містить ціле число N, що позначає розмір ...

докладніше

Питання 19. Знайдіть максимальне повторюване число в масиві Постановка проблеми У задачі «Знайти максимальне число, що повторюється в масиві» ми дали несортований масив розміром N. Даний масив містить числа в діапазоні {0, k}, де k <= N. Знайти число, яке надходить до максимального числа разів у масиві. Формат вводу ...

докладніше

Питання 20. Кількість трійнят із сумою менше заданої вартості Постановка задачі Ми дали масив, що містить N кількість елементів. У даному масиві підрахуйте кількість триплетів із сумою, меншою за задане значення. Приклад Введення a [] = {1, 2, 3, 4, 5, 6, 7, 8} Сума = 10 Вихід 7 Можливі триплети: ...

докладніше

Питання 21. Знайти триплет в масиві із заданою сумою Постановка задачі Враховуючи масив цілих чисел, знайдіть у масиві поєднання трьох елементів, сума яких дорівнює заданому значенню X. Тут ми надрукуємо першу отриману нами комбінацію. Якщо такої комбінації немає, надрукуйте -1. Приклад введення N = 5, X = 15 обр. [] = ...

докладніше

Питання 22. Перший повторюваний елемент Постановка проблеми Ми подали масив, який містить n цілих чисел. Ми маємо знайти перший повторюваний елемент у даному масиві. Якщо немає повторюваного елемента, надрукуйте “Немає повторюваних цілих чисел”. Примітка: Повторювані елементи - це ті елементи, які приходять більше одного разу. (Масив може містити дублікати) ...

докладніше

Питання 23. Головоломка з масивом продуктів Постановка проблеми У задачі-головоломці з масивом продуктів нам потрібно побудувати масив, де i-ий елемент буде добутком усіх елементів у даному масиві, крім елемента в i-й позиції. Приклад Вхідні дані 5 10 3 5 6 2 Вихідні дані 180 600 360 300 900 ...

докладніше

Питання 24. Знайдіть перше повторюване число в заданому масиві Постановка проблеми У масиві може бути кілька повторюваних чисел, але вам потрібно знайти перше число, що повторюється в даному масиві (відбувається вдруге). Приклад Вхід 12 5 4 2 8 9 7 12 5 6 12 4 7 Вихід 5 - це перший повторюваний елемент ...

докладніше

Запитання про струну Цитаделі

Питання 25. Перевірте, чи всі рядки матриці є круговими обертаннями один одного Постановка проблеми У задачі «Перевірте, чи всі рядки матриці є круговими обертаннями один одного», ми задали матрицю символів, напишіть програму, щоб знайти, чи є всі рядки круговими обертаннями один одного чи ні. Якщо всі рядки мають кругові обертання один одного, надрукуйте ...

докладніше

Питання 26. Довжина найдовшого дійсного підрядка Постановка проблеми У "Довжині найдовшого дійсного підрядка" ми дали рядок, що містить лише відкриваючу та закриваючу дужки. Напишіть програму, яка знайде найдовший дійсний підрядок. Формат введення Перший і єдиний рядок, що містить рядок s. Формат виводу Перший і ...

докладніше

Запитання про дерево цитаделі

Питання 27. Побудуйте двійкове дерево з заданих обходів Inorder та Preorder У цій задачі ми маємо порядок і попереднє замовлення бінарного дерева. Нам потрібно побудувати двійкове дерево з поданих обходів Inorder та Preorder. Приклад введення: Inorder = [D, B, E, A, F, C] Попереднє замовлення = [A, B, D, E, C, F] Вихідні дані: обхід попереднього замовлення дерева, сформованого ...

докладніше

Питання 28. Перевірити бінарне дерево пошуку Проблема У проблемі перевірки бінарного дерева пошуку, яку ми задали коренем дерева, ми повинні перевірити, чи є це бінарне дерево пошуку чи ні. Приклад: Вихід: істина Пояснення: Дане дерево є двійковим деревом пошуку, оскільки всі елементи, які залишені для кожного піддерева ...

докладніше

Запитання про стек Цитаделі

Питання 29. Розчин для уловлювання дощової води Leetcode Постановка проблеми Рішення LeetCode «Захоплення дощової води» – «Захоплення дощової води» стверджує, що заданий масив висот, який представляє карту висот, де ширина кожного стовпчика дорівнює 1. Нам потрібно знайти кількість води, яка утримується після дощу. Приклад: Вхід: висота = [0,1,0,2,1,0,1,3,2,1,2,1] Вихід: 6 Пояснення: Перевірте ...

докладніше

Питання черги Цитаделі

Питання 30. Черга пріоритетів із використанням подвійно пов’язаного списку Постановка проблеми Проблема «Черга пріоритетів із використанням подвійно зв’язаного списку» вимагає реалізації наступних функцій черги пріоритетів за допомогою подвійно зв’язаного списку. push (x, p): Покласти елемент x з пріоритетом p в чергу пріоритетів у відповідному положенні. pop (): Видалення та повернення елемента з найвищим пріоритетом ...

докладніше

Запитання матриці Цитаделі

Питання 31. Друк дужок у задачі множення матричного ланцюга Постановка задачі Нам потрібно знайти порядок множення матриць таким, щоб кількість операцій, що беруть участь у множенні всіх матриць, було мінімізовано. Тоді нам потрібно надрукувати це замовлення, тобто надрукувати дужки у задачі множення ланцюжків матриць. Вважайте, що у вас є 3 матриці A, B, ...

докладніше

Питання 32. Перевірте, чи всі рядки матриці є круговими обертаннями один одного Постановка проблеми У задачі «Перевірте, чи всі рядки матриці є круговими обертаннями один одного», ми задали матрицю символів, напишіть програму, щоб знайти, чи є всі рядки круговими обертаннями один одного чи ні. Якщо всі рядки мають кругові обертання один одного, надрукуйте ...

докладніше

Цитадель Інші питання

Питання 33. Оцініть рішення LeetCode для зворотної польської нотації Постановка проблеми Оцінити зворотну польську нотацію LeetCode Розв’язання – Оцінити значення арифметичного виразу в зворотній польській нотації. Допустимі оператори +, -, * і /. Кожен операнд може бути цілим чи іншим виразом. Зауважте, що поділ між двома цілими числами має скоротитися до нуля. Гарантовано, що даний...

докладніше

Питання 34. Рішення LeetCode для зберігання ключа-значення на основі часу Постановка проблеми. Зберігання ключа-значення на основі часу. Рішення LeetCode. Розробіть структуру даних ключ-значення на основі часу, яка може зберігати кілька значень для одного ключа з різними мітками часу та отримувати значення ключа за певну часову позначку. Реалізуйте клас TimeMap: TimeMap() Ініціалізує об’єкт структури даних. void set(ключ рядка, рядок ...

докладніше

Питання 35. Знайдіть медіану з потоку даних LeetCode Solution Постановка проблеми Знайти медіану з потоку даних LeetCode Рішення – медіана є середнім значенням у впорядкованому списку цілих чисел. Якщо розмір списку парний, середнього значення немає, а медіана є середнім з двох середніх значень. Наприклад, для arr = [2,3,4] медіана ...

докладніше

Питання 36. Рішення LeetCode зіткнення астероїдів Постановка задачі Зіткнення астероїдів Розв’язання LeetCode – Нам надано масив астероїдів з цілих чисел, що представляють астероїди в рядку. Для кожного астероїда абсолютне значення представляє його розмір, а знак — його напрямок (позитивне значення праворуч, негативне значення ліворуч). Кожен астероїд рухається з однаковою швидкістю. Дізнайся стан...

докладніше

Питання 37. Серіалізація та десеріалізація рішення LeetCode двійкового дерева Постановка проблеми Серіалізація та десеріалізація двійкового дерева Рішення LeetCode – Серіалізація – це процес перетворення структури даних або об’єкта в послідовність бітів, щоб їх можна було зберегти у файлі чи буфері пам’яті, або передати через мережеве з’єднання для відновлення пізніше. в...

докладніше

Питання 38. Продукт масиву, окрім самостійного рішення LeetCode Постановка проблеми Продукт масиву, за винятком Self LeetCode. Розв’язання – для цілого масиву nums поверніть відповідь масиву так, що answer[i] дорівнює добутку всіх елементів nums, крім nums[i]. Добуток будь-якого префікса чи суфікса чисел гарантовано вписується в 32-розрядне ціле число. Ви повинні написати алгоритм, який виконується за O(n) час і без використання ділення ...

докладніше

Питання 39. K-ий найменший елемент у рішенні BST Leetcode Постановка проблеми K-ий найменший елемент у розв’язанні коду BST Leetcode – за допомогою кореня двійкового дерева пошуку та цілого числа k, поверніть k-е найменше значення (індексовано 1) з усіх значень вузлів дерева. Приклади: Вхід: root = [3,1,4,null,2], k = 1 Вихід: 1 Вхід: root = [5,3,6,2,4,null,null,1], k ...

докладніше

Питання 40. Потворне число II LeetCode Solution Постановка задачі Потворне число II Розв’язання LeetCode – Потворне число — це додатне число, прості множники якого обмежені 2, 3 і 5. Дано ціле число n, поверніть n-е потворне число. Вхід: n = 10 Вихід: 12 Пояснення: [1, 2, 3, 4, 5, 6, 8, 9, 10, 12] - це послідовність перших 10 ...

докладніше

Питання 41. Рішення LeetCode з розривом цілого числа Постановка задачі Цілочисельний розрив LeetCode Розв’язання – розбийте його на суму k натуральних чисел, де k >= 2, і максимізуйте добуток цих цілих чисел. Нам потрібно повернути максимум товару, який ми можемо отримати. Вхід: n = 2 Вихід: 1 Пояснення: 2 = 1 + 1, ...

докладніше

Питання 42. Максимальний добуток трьох чисел Рішення LeetCode Постановка задачі Максимальний добуток трьох чисел Розв’язання LeetCode – Нам дається масив, питання просить нас обчислити максимальний добуток будь-яких 3 чисел. Приклади Приклад 1: Вхід: nums = [1,2,3] Вихід: 6 Приклад 2: Вхід: nums = [1,2,3,4] Вихід: 24 Приклад 3: Вхід: nums = ...

докладніше

Питання 43. Word Ladder Рішення LeetCode Постановка проблеми Рішення LeetCode Word Ladder – “Word Ladder” стверджує, що вам надано рядок beginWord, рядок endWord і wordList. Нам потрібно знайти найкоротшу довжину послідовності перетворення (якщо шлях не існує, надрукуйте 0) від beginWord до endWord, дотримуючись заданих умов: Усі проміжні слова повинні ...

докладніше

Питання 44. Найкращий час для покупки та продажу акцій LeetCode Solution Постановка проблеми Найкращий час для покупки та продажу акцій Рішення LeetCode – «Найкращий час для покупки та продажу акцій» стверджує, що вам надається масив цін, де price[i] — це ціна даної акції на i-ий день. Ви хочете максимізувати свій прибуток, вибравши ...

докладніше

Питання 45. Надрукуйте n термінів послідовності Ньюмена-Конвея Постановка проблеми У проблемі «Вивести n термінів послідовності Ньюмана-Конвея» зазначено, що вам дано ціле число «n». Знайдіть перші n термінів послідовності Ньюмана-Конвея, а потім роздрукуйте їх. Приклад n = 6 1 1 2 2 3 4 Пояснення Усі терміни, які надруковані, відповідають послідовності Ньюмана-Конвея ...

докладніше

Питання 46. Розсувне вікно Максимум У задачі "Максимальне розсувне вікно" ми задали номери масиву, для кожного суміжного вікна розміром k знаходимо максимальний елемент у вікні. Приклад Вхідні числа [] = {1,3, -1, -3,5,3,6,7} k = 3 Вихідні дані {3,3,5,5,6,7} Пояснення Наївний підхід до розсувного вікна Максимум для кожне суміжне вікно розміром k, траверс ...

докладніше

Питання 47. Впровадження кешу LRU Найменш нещодавно використаний кеш (LRU) - це тип методу, який використовується для підтримки даних таким чином, що час, необхідний для використання даних, є мінімально можливим. Алгоритм LRU, який використовується, коли кеш заповнений. Ми видаляємо найменш нещодавно використовувані дані з кеш-пам'яті ...

докладніше

Питання 48. Серіалізувати та десеріалізувати двійкове дерево Ми дали бінарне дерево, що містить N кількість вузлів, де кожен вузол має якесь значення. Нам потрібно серіалізувати та десеріалізувати двійкове дерево. Серіалізація Процес зберігання дерева у файлі без порушення його структури називається серіалізацією. ДесеріалізаціяСеріалізація та десеріалізація двійкового дерева Процес ...

докладніше

Translate »