Питання інтерв’ю Apple Coding


Питання масиву Apple

Питання 1. Перетасувати рішення масиву Leetcode Проблема Перетасувати рішення Leetcode Array надає нам масив довжиною 2n. Тут 2n означає, що довжина масиву є парною. Потім нам пропонують перетасувати масив. Тут перетасовка не означає, що нам потрібно випадковим чином перетасувати масив, але конкретний спосіб - це ...

докладніше

Питання 2. 3Sum Leetcode Solution Постановка задачі Враховуючи масив із n цілих чисел, чи є елементи a, b, c у числах такі, що a + b + c = 0? Знайти всі унікальні триплети в масиві, що дає суму нуля. Зверніть увагу: що набір рішень не повинен містити повторюваних триплетів. Приклад №1 [-1,0,1,2, -1,4] ...

докладніше

Питання 3. Вставте інтервал рішення штрих-коду Проблема Insert Interval Leetcode Solution надає нам список деяких інтервалів та один окремий інтервал. Тоді нам пропонують вставити цей новий інтервал серед списку інтервалів. Отже, новий інтервал може перетинатися з інтервалами, які вже є у списку, а може ...

докладніше

Питання 4. Комбіноване Сумське рішення Leetcode Проблема Combination Sum Leetcode Solution надає нам масив або список цілих чисел і цілі. Нам пропонують знайти комбінації, які можна скласти, використовуючи ці цілі числа, будь-яку кількість разів, що складаються з заданою ціллю. Тож більш формально, ми можемо використовувати наведені ...

докладніше

Питання 5. Максимальне рішення Subarray Leetcode Постановка задачі Враховуючи цілочисельний номер масиву, знайдіть суміжний підмасив (що містить принаймні одне число), який має найбільшу суму, і поверніть його суму. Приклад nums = [-2,1, -3,4, -1,2,1, -5,4] 6 Пояснення: [4, -1,2,1] має найбільшу суму = 6. nums = [- 1] -1 Підхід 1 (розділяй і завойовуй) У цьому підході ...

докладніше

Питання 6. Розпакувати розшифрований зашифрований список штрих-кодів Проблема Декомпресія кодованого списку довжини циклу Рішення Leetcode Solution стверджує, що вам надано масив або вектор, що містить послідовність. Послідовність має деяке конкретне представлення. Вхідна послідовність формується з іншої послідовності. Ми будемо називати цю іншу послідовність оригінальною. Відповідно до якого вхідна послідовність ...

докладніше

Питання 7. Знайдіть переможця на ігровому рішенні Tic Tac Toe Проблема Знайти переможця у грі Tic Tac Toe Leetcode Solution просить нас з’ясувати переможця гри в тик-так. Завдання надає нам масив або вектор ходів, зроблених гравцями. Нам потрібно пройти ходи і вирішити, хто ...

докладніше

Питання 8. Знайдіть спільне рішення символів Leetcode Постановка проблеми У цій задачі ми отримуємо масив рядків. Нам потрібно надрукувати список усіх символів, які відображаються в кожному рядку масиву (дублікати включені). Тобто, якщо символ з’являється 2 рази в кожному рядку, але не 3 рази, нам це потрібно мати ...

докладніше

Питання 9. Знайти всі номери, що зникли, у рішенні з масивом Leetcode Постановка проблеми У цій задачі ми отримуємо масив цілих чисел. Він містить елементи від 1 до N, де N = розмір масиву. Однак є деякі елементи, які зникли, а на їх місці присутні деякі дублікати. Наша мета - повернути масив ...

докладніше

Питання 10. Рішення Leetcode для елемента більшості У цій задачі ми отримуємо масив цілих чисел. Мета полягає в тому, щоб знайти всі елементи, які трапляються більше ніж ⌊N / 3⌋ часу в масиві, де N = розмір масиву, а ⌊ ⌋ - оператор підлоги. Нам потрібно повернути масив ...

докладніше

Питання 11. Унікальне рішення штрих-коду У проблемі Unique Paths Leetcode Solution зазначено, що вам дано два цілих числа, що представляють розмір сітки. Використовуючи розмір сітки, довжину та ширину сітки. Нам потрібно знайти кількість унікальних шляхів від лівого верхнього кута сітки до ...

докладніше

Питання 12. Об’єднати сортовані масиви з розчином штрих-коду У задачі “Об’єднати відсортовані масиви” ми отримуємо два масиви, відсортовані в порядку спадання. Перший масив заповнений не повністю і має достатньо місця для розміщення всіх елементів другого масиву. Ми повинні об’єднати два масиви таким чином, щоб перший масив містив елементи ...

докладніше

Питання 13. Шукати у розв’язаному сортованому масиві рішення штрих-коду Розглянемо відсортований масив, але вибрано один індекс і масив повернено в цю точку. Тепер, після обертання масиву, вам потрібно знайти певний цільовий елемент і повернути його індекс. Якщо елемента немає, поверніть -1. Проблема загалом ...

докладніше

Питання 14. Пошук Вставити позицію Рішення коду шрифта У цій задачі ми отримуємо відсортований масив і ціле ціле число. Ми маємо знайти його позицію пошуку. Якщо цільове значення присутнє в масиві, поверніть його індекс. Повернути індекс, за яким слід вставити ціль, щоб зберегти порядок відсортованим (у ...

докладніше

Питання 15. Виконання суми 1d Array Leetcode Solution Постановка проблеми Під час запуску суми 1d задачі масиву нам було надано масиви з номерами, для яких ми повинні повернути масив, де для кожного індексу i в результуючому масиві arr [i] = сума (nums [0]… nums [i]) . Приклади номерів = [1,2,3,4] [1,3,6,10] Пояснення: Поточна сума: ...

докладніше

Питання 16. Плюс одне рішення Leetcode Постановка проблеми У задачі “Плюс одна” нам дано масив, де кожен елемент масиву являє собою цифру числа. Повний масив представляє число. Нульовий індекс представляє MSB числа. Можна припустити, що в ...

докладніше

Питання 17. Kth найбільший елемент у Array Leetcode Solutions У цій задачі ми маємо повернути k-й найбільший елемент у невідсортованому масиві. Зверніть увагу, що масив може мати дублікати. Отже, ми маємо знайти Kth найбільший елемент у відсортованому порядку, а не окремий Kth найбільший елемент. Приклад A = {4, 2, 5, 3 ...

докладніше

Питання 18. Діапазон Мінімальний запит (Розкладання квадратного кореня та розріджена таблиця) У задачі про мінімальний запит діапазону ми подали запит і цілий масив. Кожен запит містить діапазон як лівий та правий індекси для кожного діапазону. Дане завдання полягає у визначенні мінімуму з усього числа, що знаходиться в межах діапазону. Приклад введення: arr [] = {2, 5, ...

докладніше

Питання 19. Шлях мінімальної суми у трикутнику Постановка проблеми У задачі “Шлях мінімальної суми у трикутнику” зазначено, що вам дана послідовність у вигляді трикутника цілих чисел. Тепер, починаючи з верхнього рядка, якої мінімальної суми ви можете досягти, дійшовши до нижнього рядка? Приклад 1 2 3 5 ...

докладніше

Питання 20. Містить копію Нам дається масив, і він може містити дублікати елементів, а може і ні. Тож нам потрібно перевірити, чи не містить він дублікат. Приклади [1, 3, 5, 1] ​​true [„яблуко“, „манго“, „апельсин“, „манго“] true [22.0, 4.5, 3.98, 45.6, 13.54] false Підхід Ми можемо перевірити масив кількома способами ...

докладніше

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

докладніше

Питання 22. Найпопулярніші часті елементи Постановка проблеми У верхніх K частих елементах ми дали масив nums [], знайдіть k найбільш часто зустрічаються елементів. Приклади nums [] = {1, 1, 1, 2, 2, 3} k = 2 1 2 nums [] = {1} k = 1 1 Наївний підхід до побудови найпопулярніших елементів K ...

докладніше

Питання 23. Відсортований масив до збалансованого BST У відсортованому масиві до задачі збалансованого BST ми подали масив у відсортованому порядку, побудуємо Збалансоване двійкове дерево пошуку з відсортованого масиву. Приклади Вхід arr [] = {1, 2, 3, 4, 5} Вихідне попереднє замовлення: 3 2 1 5 4 Вхід arr [] = {7, 11, 13, 20, 22, ...

докладніше

Питання 24. Підмножина Leetcode У задачі Subset Leetcode ми подали набір різних цілих чисел, чисел, надрукували всі підмножини (набір потужностей). Примітка: Набір рішень не повинен містити повторюваних підмножин. Масив A - це підмножина масиву B, якщо a можна отримати з B, видаливши деякий (можливо, нуль ...

докладніше

Питання 25. Максимальна площа У задачі про максимальний квадрат ми подали двовимірну двійкову матрицю, заповнену 2 і 0, знайшли найбільший квадрат, що містить лише 1, і повернули його площу. Приклад введення: 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 ...

докладніше

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

докладніше

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

докладніше

Питання 28. Злиття інтервалів, що перекриваються У задачі про перекриття інтервалів злиття ми дали набір інтервалів, злиття та повернення всіх перекриваючих інтервалів. Приклад введення: [[2, 3], [3, 4], [5, 7]] Вивід: [[2, 4], [5, 7]] Пояснення: Ми можемо об’єднати [2, 3] та [3 , 4] разом, щоб сформувати [2, 4] Підхід до пошуку злиття ...

докладніше

Питання 29. Медіана двох відсортованих масивів Дано два відсортовані масиви A та B розміром n та m відповідно. Знайдіть медіану остаточного відсортованого масиву, отриманого після об’єднання даних двох масивів, або іншими словами, ми говоримо, що знайдемо медіану двох відсортованих масивів. (Очікувана часова складність: O (log (n))) Підхід 1 для ...

докладніше

Питання 30. Максимальний підмасив продукту У задачі про максимальний підмасив продукту ми подали масив цілих чисел, знайдіть суміжний підмасив із принаймні одним елементом, який має найбільший добуток. Приклад Arr = [0, -1, 0, 1, 2, -3] Максимальний добуток = 2 Arr = [- 1, -1, -1] Максимальний добуток = -1 Arr = [0, -1, 0, - 2, 0] ...

докладніше

Питання 31. Шукати елемент у відсортованому обертованому масиві При пошуку в проблемі відсортованого поверненого масиву ми дали сортуваний та повернутий масив та елемент, перевірте, чи присутній даний елемент у масиві чи ні. Приклади Вхідні числа [] = {2, 5, 6, 0, 0, 1, 2} target = 0 Вихідні значення true Вхідні числа [] = {2, ...

докладніше

Питання 32. Максимальний підмасив продукту Враховуючи масив із n цілих чисел, знайдіть максимальний добуток, отриманий із суміжного підмасиву даного масиву. Приклади Вхід arr [] = {-2, -3, 0, -2, -40} Вихід 80 Вхід arr [] = {5, 10, 6, -2, 1} Вихід 300 Вхід arr [] = {-1 , -4, -10, 0, 70} Вихід 70 ...

докладніше

Питання 33. Встановити нулі матриці У задачі нульових матриць задано матрицю (n X m), якщо елемент дорівнює 0, встановіть весь його рядок і стовпець 0. Приклади Вхід: {[1, 1, 1] [1, 0, 1] [1, 1, 1]} Вихід: {[1, 0, 1] [0, 0, 0] [1, 0, 1] ...

докладніше

Питання 34. 3 Сума У задачі 3 Сума ми дали масив із числами n цілих чисел, знайдіть усі унікальні триплети, що складають до 0. Приклад Введення: nums = {-1, 0, 1, 2, -1, -4} Вихід: { -1, 0, 1}, {-1, 2, -1} Наївний підхід до задачі 3 Сума Підхід грубої сили ...

докладніше

Питання 35. Знайдіть повторюваний номер Дано масив із номерами, що містять (n + 1) елементів, і кожен елемент знаходиться від 1 до n. Якщо є лише один повторюваний елемент, знайдіть повторюваний номер. Приклади Вхід: nums = {1, 3, 4, 2, 2} Вихід: 2 Вхід: nums = {3, 1, 3, 4, 2} Вихід: 3 Наївно ...

докладніше

Питання 36. Знайдіть повторюваний елемент Враховуючи масив цілих чисел розміром n + 1, де кожен елемент масиву знаходиться між 1 і n (включно), в масиві є один повторюваний елемент, знайдіть повторюваний елемент. Метод грубої сили - Підхід 1 для пошуку повторюваного елемента Для кожного i-го елемента запустіть цикл ...

докладніше

Питання 37. Захоплення дощової води У задачі «Захоплення дощової води» ми дали N невід’ємних цілих чисел, що представляють карту висот, а ширина кожної смуги дорівнює 1. Нам потрібно знайти кількість води, яка може потрапити у вищезазначену структуру. Приклад Давайте зрозуміємо це на прикладі Для вищезазначеної висоти ...

докладніше

Питання 38. Сума комбінації У задачі суми комбінацій ми дали масив цілих додатних чисел arr [] та суму s, знайдіть усі унікальні комбінації елементів у arr [], де сума цих елементів дорівнює s. Одне і те ж повторне число можна вибрати з arr [] необмежену кількість разів. Елементи ...

докладніше

Питання 39. Шукати в Сортованому поверненому масиві Пошук елементів у відсортованому поверненому масиві можна знайти за допомогою двійкового пошуку за час O (logn). Завдання цього допису - знайти даний елемент у відсортованому поверненому масиві за час O (logn). Наведено приклад відсортованого поверненого масиву. Приклад введення: arr [] = {7,8,9,10,1,2,3,5,6}; ...

докладніше

Питання 40. Максимальний підмасив У задачі "Максимальний підмасив" ми задали цілочисельні числа масивів, знайдіть суміжний підмасив, який має найбільшу суму, і надрукуйте значення підмасиву максимальної суми. Приклад Вхідні числа [] = {-2, 1, -3, 4, -1, 2, 1, -5, 4} Вихід 6 Алгоритм Мета полягає в тому, щоб знайти ...

докладніше

Питання 41. Інтервали злиття У задачі злиття інтервалів ми дали набір інтервалів виду [l, r], об'єднати перекриваються інтервали. Приклади Вхід {[1, 3], [2, 6], [8, 10], [15, 18]} Вихід {[1, 6], [8, 10], [15, 18]} Вхід {[ 1, 4], [1, 5]} Вихід {[1, 5]} Наївний підхід для злиття інтервалів ...

докладніше

Питання 42. 4 Сума У задачі 4Sum ми дали ціле число x та масив a [] розміром n. Знайдіть усі унікальні набори з 4 елементів у масиві, такі, що сума цих 4 елементів дорівнює заданому цілому числу x. Приклад Введення a [] = {1, 0, -1, ...

докладніше

Питання 43. Створити максимальну кількість У задачі "Створити максимальне число" ми дали два масиви довжиною n і m з цифрами 0-9, що представляють два числа. Створіть максимальну кількість довжини k <= m + n із цифр двох. Відносний порядок цифр з одного масиву повинен ...

докладніше

Питання 44. Знайти піковий елемент Давайте розберемося в проблемі Find Peak Element. Сьогодні ми маємо з собою масив, який потребує свого пікового елемента. Ви, мабуть, задаєтеся питанням, що я маю на увазі під елементом пік? Піковий елемент - це той, який більший за всіх його сусідів. Приклад: Дано масив ...

докладніше

Питання 45. Відсутній номер У задачі "Відсутнє число" ми дали масив розміром N, що містить число від 0 до N. Всі значення в масиві унікальні. Нам потрібно знайти відсутнє число, якого немає в масиві, і це число лежить від 0 до N. Тут ...

докладніше

Питання 46. Об’єднати відсортований масив У проблемі злиття відсортованого масиву ми подали два відсортовані масиви за зростанням. Спочатку у введенні ми вказали число, ініціалізоване масивом1 та масивом2. Ці двоцифрові N і M. Розмір масиву1 дорівнює сумі N і M. У масиві 1 спочатку ...

докладніше

Питання 47. Повернути масив Повернути масив - це проблема, при якій ми дали масив розміром N. Нам потрібно повернути масив у правильному напрямку. Кожен зсув елемента на одну позицію вправо та останній елемент масиву приходять у першу позицію. Отже, ми дали значення K ...

докладніше

Питання 48. Ємність з найбільшою кількістю води Опис проблеми: вам дано n цілих чисел (y0, y1, y2 ... yn-1) за n індексів (i = 0,1,2 ... n-1). Ціле число в i-му індексі дорівнює yi. Тепер ви малюєте n ліній на декартовій площині, кожна з яких поєднує точки (i, yi) та (i, 0). Знайдіть максимальний об'єм води ...

докладніше

Питання 49. Сортування купи Сортування купи - це техніка сортування на основі порівняння, яка базується на структурі даних двійкової купи. HeapSort подібний до сортування виділення, де ми знаходимо максимальний елемент, а потім розміщуємо цей елемент в кінці. Цей самий процес повторюємо для решти елементів. Враховуючи несортовану ...

докладніше

Питання 50. Проблема зміни монети Проблема зміни монети - Дано деякі монети різних значень c1, c2,…, cs (Наприклад: 1,4,7….). Нам потрібна сума n. Використовуйте ці подані монети, щоб сформувати суму n. Ви можете використовувати монету стільки разів, скільки потрібно. Знайдіть загальну кількість способів, за допомогою яких ...

докладніше

Питання 51. Множення двох матриць Постановка задачі У задачі “Множення двох матриць” ми подали дві матриці. Ми маємо помножити ці матриці та надрукувати результат або кінцеву матрицю. Тут необхідною і достатньою умовою є кількість стовпців в A, яка повинна дорівнювати кількості рядків у матриці ...

докладніше

Питання 52. Запас Купуйте, продайте, щоб максимізувати прибуток Постановка проблеми У проблемі «Купуйте акції, продавайте, щоб максимізувати прибуток» ми подали масив, що містить ціну акцій на кожен день, знайдіть максимальний прибуток, який ви можете отримати, купуючи та продаючи в ці дні. Тут ми можемо купувати і продавати кілька разів, але лише після продажу ...

докладніше

Питання 53. Інтервали перекриття злиття II Постановка проблеми У задачі “Об’єднання перекриваючих інтервалів II” ми навели набір інтервалів. Напишіть програму, яка об’єднає інтервали, що перекриваються, в один і надрукує всі інтервали, що не перекриваються. Формат введення Перший рядок, що містить ціле число n. Другий рядок, що містить n пар, де кожна пара ...

докладніше

Питання 54. Максимальна сума підмасиву з використанням "Розділи і завоюй" Постановка задачі У задачі "Максимальна сума підмасивів за допомогою Divide and Conquer" ми навели масив як позитивних, так і негативних цілих чисел. Напишіть програму, яка знайде найбільшу суму суміжного підмасиву. Формат введення Перший рядок, що містить ціле число N. Другий рядок, що містить масив ...

докладніше

Питання 55. Впорядкуйте задані числа, щоб утворити найбільше число II Постановка задачі У задачі «Впорядкувати дані числа, щоб утворити найбільше число II», ми подали масив цілих додатних чисел. Розташуйте їх таким чином, щоб композиція формувала найбільше значення. Формат введення Перший і єдиний рядок, що містить ціле число n. Другий рядок, що містить ...

докладніше

Питання 56. Ітеративне впровадження швидкого сортування Постановка проблеми У задачі “Ітеративне впровадження швидкого сортування” ми подали масив []. Ми повинні сортувати масив за допомогою швидкого сортування. Тут швидке сортування не реалізується рекурсивно, воно реалізується ітераційним способом. Формат введення Перший рядок, що містить ціле число n. Другий рядок, що містить ...

докладніше

Питання 57. Перемішати заданий масив Постановка проблеми У задачі «Перемішати заданий масив» ми подали масив цілих чисел. Напишіть програму, яка перемішує заданий масив. Тобто він випадково перетасовуватиме елементи в масиві. Формат введення Перший рядок, що містить ціле число n. Другий рядок, що містить n цілих чисел, відокремлених пробілом ...

докладніше

Питання 58. Сортування K відсортованого масиву Постановка проблеми У задачі “Сортування K відсортованого масиву” ми подали масив з n елементів, де кожен елемент знаходиться на відстані щонайбільше k від своєї цільової позиції. Створіть алгоритм, який сортує за час O (n log k). Формат введення Перший рядок, що містить два цілих значення N ...

докладніше

Питання 59. Максимальний підмасив продукту II Постановка проблеми У задачі “Максимальний підмасив продукту II” ми подали масив, що складається з додатних, від’ємних цілих чисел, а також нулів. Нам потрібно знайти максимальний добуток підмасиву. Формат введення Перший рядок, що містить ціле число N. Другий рядок, що містить N цілих чисел, розділених пробілами. Формат виходу Єдиний ...

докладніше

Питання 60. Найбільший підмасив з рівною кількістю 0 і 1 Постановка проблеми У задачі “Найбільший підмасив з рівною кількістю 0 та 1” ми дали масив [], що містить лише 0 та 1. Знайдіть найбільший підмасив з рівною кількістю 0 та 1, і надрукує індекс початку та кінцевий індекс найбільшого підмасиву. ...

докладніше

Питання 61. Максимальна сума, що збільшується підпослідовності Постановка задачі У задачі „Максимальна сума, що збільшується підпорядкованість” ми подали масив. Знайдіть суму максимальної підпослідовності даного масиву, тобто цілі числа в підпослідовності розташовані в порядку сортування. Підпослідовність - це частина масиву, яка є послідовністю, яка ...

докладніше

Питання 62. Кількість менших елементів на правій стороні Постановка проблеми У задачі «Кількість менших елементів праворуч» ми подали масив []. Знайдіть кількість менших елементів, які знаходяться праворуч від кожного елемента. Формат введення Перший і єдиний рядок, що містить ціле число N. Другий рядок, що містить N цілих чисел, розділених пробілами. Вихідні дані ...

докладніше

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

докладніше

Питання 64. Елементи з’являються в масиві більше, ніж невідомо Постановка проблеми У задачі «Елементи з’являються більше, ніж N / K разів у масиві» ми дали цілочисельний масив розміром n. Знайдіть елементи, які з’являються більше ніж n / k разів. Де k - вхідне значення. Формат введення Перший і єдиний рядок, що містить два цілих числа N і ...

докладніше

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

докладніше

Питання 66. Впорядкуйте позитивні та негативні числа в масиві Постановка проблеми У задачі “Переставити позитивні та від’ємні числа в якості альтернативи в масиві” ми дали масив []. Цей масив містить цілі додатні та від’ємні числа. Переставити масив таким чином, щоб позитивні та негативні розміщувались по черзі. Тут кількість позитивних і негативних елементів не потрібно ...

докладніше

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

докладніше

Питання 68. Чотири елементи, які підсумовуються до заданого Постановка задачі У чотирьох елементах, які підсумовують дану задачу, ми подали масив, що містить N елементів, які можуть бути позитивними чи негативними. Знайдіть набір з чотирьох елементів, сума яких дорівнює заданому значенню k. Формат введення Перший рядок, що містить ціле число N. Другий рядок, що містить масив ...

докладніше

Питання 69. Проблема розділу Постановка проблеми У задачі на розділи ми навели набір, що містить n елементів. Знайдіть, чи можна задану множину розділити на дві множини, сума елементів яких у підмножинах дорівнює. Приклад введення arr [] = {4, 5, 11, 9, 8, 3} Вихід Так Пояснення Масив ...

докладніше

Питання 70. Проблема зі знаменитостями Постановка проблеми У проблемі зі знаменитостями є кімната з N людей. Знайди знаменитість. Умови для знаменитості - якщо А - знаменитість, тоді всі інші в кімнаті повинні знати А. А не повинен знати нікого в кімнаті. Нам потрібно знайти людину, яка відповідає цим умовам. ...

докладніше

Питання 71. Підмасив із заданою сумою Постановка задачі У підмасиві із заданою задачею суми ми дали масив, що містить n позитивних елементів. Ми повинні знайти підмасив, в якому сума всіх елементів підмасиву дорівнює заданій_сумі. Підмасив отримується з вихідного масиву шляхом видалення деяких ...

докладніше

Питання 72. Знайдіть загублений елемент із дубльованого масиву Постановка проблеми Враховуючи два масиви A і B, один масив є дублікатом іншого, крім одного елемента. Один елемент відсутній ні в А, ні в В. нам потрібно знайти загублений елемент із дубльованого масиву. Приклад 5 1 6 4 8 9 6 4 8 ...

докладніше

Питання 73. Переставити заданий масив у максимально мінімальну форму Постановка проблеми У задачі «Переставити заданий масив у максимально мінімальну форму» ми подали відсортований масив, що містить N елементів. Впорядкуйте заданий відсортований масив додатних цілих чисел, таким чином, щоб альтернативними елементами були i-й max та i-й min. Дивіться нижче для кращого розуміння перестановки елементів - масив [0] ...

докладніше

Питання 74. Підмасив і послідовність Постановка проблеми У задачі про підмасив та підпослідовності ми повинні надрукувати всі підмасиви та підпослідовності для даного масиву. Створити всі можливі непорожні підмасиви. Підмасив зазвичай визначається як частина або розділ масиву, в якому суміжність базується на індексі. Підмасив ...

докладніше

Питання 75. Об’єднайте два відсортовані масиви Постановка про проблему У задачі злиття двох відсортованих масивів ми дали два вхідні відсортовані масиви, нам потрібно об’єднати ці два масиви таким чином, щоб початкові числа після повного сортування мали бути в першому масиві, а залишилися у другому масиві. Приклад введення A [] = {1, 3, 5, 7, ...

докладніше

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

докладніше

Питання 77. Наступний великий елемент у масиві Постановка проблеми Враховуючи масив, ми знайдемо наступний більший елемент кожного елемента масиву. Якщо для цього елемента немає наступного більшого елемента, ми надрукуємо -1, інакше ми надрукуємо цей елемент. Примітка: Наступним більшим елементом є той елемент, який більший і ...

докладніше

Питання 78. Об'єднання двох відсортованих масивів Постановка проблеми Під час об’єднання двох відсортованих масивів ми задали два відсортовані масиви, один масив розміром m + n, а інший масив розміром n. Ми об’єднаємо масив розміром n у масив розміру m + n і надрукуємо об’єднаний масив розміром m + n. Приклад введення 6 3 M [] = ...

докладніше

Питання 79. Знайти елемент за допомогою двійкового пошуку у відсортованому масиві Постановка проблеми Враховуючи відсортований масив, Знайдіть елемент, використовуючи двійковий пошук у відсортованому масиві. Якщо є, надрукуйте індекс цього елемента, інакше надрукуйте -1. Приклад введення arr [] = {1, 6, 7, 8, 9, 12, 14, 16, 26, 29, 36, 37, 156} X = 6 // елемент для пошуку ...

докладніше

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

докладніше

Питання 81. Знайдіть дублікати в масиві найбільш ефективним способом Постановка проблеми Найефективніше відобразити всі елементи, які є дублікатами, у просторі O (n) та O (1). Враховуючи масив розміром n, який містить числа від 0 до n-1, ці числа можуть виникати будь-яку кількість разів. Знайдіть дублікати в масиві в найбільш ефективному ...

докладніше

Питання 82. Найменше позитивне число відсутнє в несортованому масиві Постановка проблеми У даному несортованому масиві знайдіть найменше додатне число, яке відсутнє в несортованому масиві. Позитивне ціле число не включає 0. За потреби ми можемо змінити вихідний масив. Масив може містити додатні та від’ємні числа. Приклад a. Вхідний масив: [3, 4, -1, 0, -2, 2, 1, ...

докладніше

Питання 83. Перемістіть усі нулі до кінця заданого масиву Постановка проблеми У даному масиві перемістіть усі нулі, що є в масиві, до кінця масиву. Тут завжди існує спосіб вставити всю кількість нулів у кінець масиву. Приклад введення 9 9 17 0 14 0 ...

докладніше

Питання 84. Підрахувати кількість випадків у відсортованому масиві Постановка проблеми У задачі «Підрахувати кількість випадків у відсортованому масиві» ми подали відсортований масив. Підрахуйте кількість випадків або частоту в відсортованому масиві X, де X - ціле число. Приклад введення 13 1 2 2 2 2 3 3 3 4 4 ...

докладніше

Питання 85. Знайти найменший відсутній номер у відсортованому масиві Постановка проблеми У задачі «Знайти найменший відсутній номер у відсортованому масиві» ми дали цілочисельний масив. Знайдіть найменше відсутнє число в сортуваному масиві розміром N, що має унікальні елементи в діапазоні від 0 до M-1, де M> N. Приклад введення [0, 1, 2, 3, 4, 6, 7, ...

докладніше

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

докладніше

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

докладніше

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

докладніше

Питання 89. Елемент більшості Постановка проблеми Враховуючи відсортований масив, нам потрібно знайти більшість елементів із відсортованого масиву. Елемент більшості: число, яке перевищує половину розміру масиву. Тут ми дали число x, і ми маємо перевірити, є це елемент елементу більшості чи ні. Приклад введення 5 2 ...

докладніше

Питання 90. Знайдіть відсутній номер Постановка проблеми Під час пошуку відсутнього числа з масиву від 1 до N чисел ми дали масив, який містить N-1 чисел. У масиві чисел від 1 до N. відсутнє одне число. Нам потрібно знайти відсутнє число. Формат введення Перший рядок, що містить ціле число ...

докладніше

Струнні запитання Apple

Питання 91. Рішення ізоморфних струн Leetcode Постановка проблеми У цій задачі нам дано два рядки, a і b. Наша мета - визначити, ізоморфні ці два рядки чи ні. Два рядки називаються ізоморфними тоді і лише тоді, коли символи в першому рядку взагалі можуть бути замінені будь-якими символами (включаючи самого себе) ...

докладніше

Питання 92. Зменшити регістр Leetcode Solution Проблема з рівнем нижнього регістру Leetcode Solution надає нам рядок і просить перетворити всі алфавіти верхнього регістру на алфавіти нижнього регістру. Нам потрібно перетворити всі алфавіти верхнього та нижнього регістру на символи нижнього регістру. Отже, проблема здається простою, але раніше ...

докладніше

Питання 93. Дійсне рішення з палітромом Leetcode Постановка проблеми Враховуючи рядок, ми повинні визначити, чи це паліндром, враховуючи лише буквено-цифрові символи, тобто цифри та алфавіти. Ми також повинні ігнорувати регістри символів алфавіту. Приклад "Людина, план, канал: Панама" справжнє Пояснення: "АманапланаканалПанама" є дійсним паліндромом. "гонка на машині" ...

докладніше

Питання 94. Рішення від Roman to Integer Leetcode Solution У задачі “Римське ціле число” нам дано рядок, що представляє деяке додатне ціле число у його римській цифровій формі. Римські цифри представлені 7 символами, які можна перетворити на цілі числа, використовуючи наступну таблицю: Примітка: Ціле значення даної римської цифри не перевищуватиме або ...

докладніше

Питання 95. Рішення множення рядків Leetcode Проблема Розмноження рядків Рішення Леткоду просить нас помножити два рядки, які даються нам як вхідні дані. Ми повинні надрукувати або повернути цей результат множення до функції абонента. Отже, якщо сказати це більш формально з урахуванням двох рядків, знайдіть добуток даних рядків. ...

докладніше

Питання 96. Ціле число до римського рішення Leetcode У цій задачі нам дають ціле число і потрібно перевести в римські цифри. Таким чином, проблема зазвичай називається "Ціле число до римського", а це рішення "Ціле число до римського Leetcode". Якщо хтось не знає про римські цифри. За старих часів люди не ...

докладніше

Питання 97. Знайдіть найменший діапазон, що містить елементи з k списків У задачі «Знайти найменший діапазон, що містить елементи з k списків», ми подали K списків, які відсортовані та однакового розміру N. Він просить визначити найменший діапазон, що містить принаймні елементи з кожного зі списків K . Якщо їх більше одного ...

докладніше

Питання 98. Комбінації літер телефонного номера У буквосполученнях проблеми телефонного номера ми дали рядки, що містять цифри від 2 до 9. Проблема полягає у тому, щоб знайти всі можливі комбінації, які могли б бути представлені цим числом, якщо кожному номеру присвоєно кілька букв. Присвоєння номера ...

докладніше

Питання 99. Найдовша підрядок без повторення символів Враховуючи рядок, ми повинні знайти довжину найдовшого підрядка без повторення символів. Давайте розглянемо кілька прикладів: Приклад pwwkew 3 Пояснення: Відповідь "wke" довжиною 3 aav 2 Пояснення: відповідь "av" довжиною 2 Підхід-1 для найдовшої підрядки без повторення символів грубої сили ...

докладніше

Питання 100. Розшифрувати рядок Припустимо, вам дано закодований рядок. Рядок кодується за якимось шаблоном, ваше завдання - декодувати рядок. Скажімо, <кількість випадків, коли трапляється рядок> [рядок] Приклад Введення 3 [b] 2 [bc] Вихід bbbcaca Пояснення Тут “b” трапляється 3 рази, а “ca” трапляється 2 рази. ...

докладніше

Питання 101. Наступна перестановка У наступній задачі перестановки, яку ми дали слово, знайдіть його лексикографічно більшу_перестановку. Приклад вводу: str = "tutorialcup" output: tutorialpcu input: str = "nmhdgfecba" output: nmheabcdfg input: str = "алгоритми" output: алгоритми input: str = "spoonfeed" output: Next Permutation ...

докладніше

Питання 102. Найдовший загальний префікс із використанням сортування У найдовшому загальному префіксі за допомогою проблеми сортування ми подали набір рядків, знайдіть найдовший загальний префікс. тобто знайти префіксну частину, загальну для всіх рядків. Приклад Введення1: {“tutorialcup”, “tutorial”, “tussle”, “tumble”} Вихід: “tu” Вхід2: {“багаж”, “банан”, “батсмени”} Вихід: “ba” Вхід3: {“abcd "} Вихід:" abcd "...

докладніше

Питання 103. Відповідність регулярних виразів У задачі на відповідність регулярних виразів ми дали два рядки, один (припустимо, це x) складається лише з малих алфавітів, а другий (припустимо, це y) складається з алфавітів нижнього регістру з двома спеціальними символами, тобто "." та “*”. Завдання полягає в тому, щоб дізнатись, чи другий рядок ...

докладніше

Питання 104. Стиснення рядків У задачі стиснення рядків ми дали масив [] типу char. Стиснути його як символ і підрахувати певний символ (якщо підрахунок символів дорівнює 1, тоді єдиний символ зберігається в стисненому масиві). Довжина стисненого масиву повинна ...

докладніше

Питання 105. Дійсні дужки У проблемі з дійсними дужками ми подали рядок, що містить лише символи '(', ')', '{', '}', '[' та ']', щоб визначити, чи правильний вхідний рядок. Вхідний рядок є дійсним, якщо: Відкриті дужки повинні бути закриті однаковими типами дужок. () [] {} ...

докладніше

Питання 106. Найдовший загальний префікс за допомогою Trie У найдовшому загальному префіксі за допомогою проблеми Trie ми подали набір рядків, знайдіть найдовший загальний префікс. тобто знайти префіксну частину, загальну для всіх рядків. Приклад Введення1: {“tutorialcup”, “tutorial”, “tussle”, “tumble”} Вихід: „tu“ Вхід2: {„багаж“, „банан“, „битви“] Вихід: „ba“ Вхід3: {„abcd "} Вихід:" abcd "...

докладніше

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

докладніше

Питання 108. Порахуй і скажи Порахуй і скажи, в якому ми дали число N, і нам потрібно знайти N-й доданок підрахунку і сказати послідовність. По-перше, ми повинні зрозуміти, що таке кількість і сказати послідовність. Спочатку подивіться деякі терміни послідовності: 1-й доданок - це „1”. 2-й термін - це ...

докладніше

Питання 109. Знайдіть унікальний символ у рядку У статті Знайти унікальний символ у рядковій задачі ми подали рядок, що містить лише алфавіти нижнього регістру (az). Нам потрібно знайти перший не повторюваний символ у ньому та надрукувати індекс. якщо такого символу не існує, надрукуйте -1. Формат введення Тільки один рядок, що містить рядок. Друк вихідного формату ...

докладніше

Питання 110. Ціле число до Романа Ціле до римського перетворення. Ми дали число N, і нам потрібно надрукувати римське число N. Римські числа представлені використанням значень {I, V, X, L, C, D, M}. Давайте подивимось кілька прикладів для хорошого розуміння. Формат введення Тільки один рядок, що містить ...

докладніше

Питання 111. Ізоморфні струни Ізоморфні рядки - з урахуванням двох рядків нам потрібно перевірити, чи для кожного входження символу в string1 існує унікальне відображення з символами в string2. Коротше, перевірте, чи є одне до одного відображення чи ні. Приклад Вхід str1 = “aab” str2 = “xxy” Вихід True ...

докладніше

Питання 112. Kth Неповторюваний персонаж Постановка проблеми У "Kth символі, що не повторюється" ми дали рядок "s". Напишіть програму для виявлення k-го символу, що не повторюється. Якщо в рядку менше символів k, що не повторюється, тоді надрукуйте “-1”. Формат введення Перший і єдиний рядок, що містить рядок “s”. ...

докладніше

Питання 113. Найдовша загальноприйнята префіксна фраза за відповідністю слова Постановка проблеми У задачі “Найдовший загальний префікс із використанням Word by Word Matching” ми подали N рядків. Напишіть програму, щоб знайти найдовший загальний префікс даних рядків. Формат введення Перший рядок, що містить ціле значення N, що позначає кількість рядків. Наступні N рядків ...

докладніше

Питання 114. Найдовший загальний префікс із використанням символів за символами Постановка проблеми У задачі «Найдовший загальний префікс із використанням символів за збігом символів» ми дали цілочисельне значення N та N рядків. Напишіть програму, щоб знайти найдовший загальний префікс даних рядків. Формат введення Перший рядок, що містить ціле значення N, що позначає число ...

докладніше

Питання 115. Перестановки даного рядка з використанням STL Постановка проблеми У задачі “Перестановки даного рядка за допомогою STL” ми дали рядок “s”. Роздрукуйте всі перестановки вхідного рядка за допомогою функцій STL. Формат введення Перший і єдиний рядок, що містить рядок “s”. Вихідний формат Друк усіх перестановок заданого ...

докладніше

Питання 116. Нижній регістр - верхній регістр Постановка проблеми У задачі «Малі регістри» ми дали рядок «s» лише з малих літер. Напишіть програму, яка друкуватиме той самий рядок, але з великими літерами. Формат введення Перший і єдиний рядок, що містить рядок “s”. Формат виводу ...

докладніше

Питання 117. Найдовший загальний префікс за допомогою двійкового пошуку II Постановка проблеми У задачі «Найдовший загальний префікс із використанням двійкового пошуку II» ми дали цілочисельне значення N та N рядків. Напишіть програму, яка надрукує найдовший загальний префікс заданих рядків. Якщо загального префіксу немає, надрукуйте “-1”. Формат введення Перший рядок, що містить ...

докладніше

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

докладніше

Питання 119. Впорядкуйте задані числа, щоб утворити найбільше число II Постановка задачі У задачі «Впорядкувати дані числа, щоб утворити найбільше число II», ми подали масив цілих додатних чисел. Розташуйте їх таким чином, щоб композиція формувала найбільше значення. Формат введення Перший і єдиний рядок, що містить ціле число n. Другий рядок, що містить ...

докладніше

Питання 120. Перевірте, чи пов’язаний список рядків утворює паліндром Постановка проблеми У проблемі «Перевірте, чи зв’язаний список рядків утворює паліндром» ми дали зв’язаний список, який обробляє дані рядків. Напишіть програму, щоб перевірити, чи утворюють дані паліндром чи ні. Приклад ba-> c-> d-> ca-> b 1 Пояснення: У наведеному вище прикладі ми бачимо, що ...

докладніше

Дерево Питання Apple

Питання 121. Кореневий шлях до листя із цільовою сумою рішення Leetcode Дано двійкове дерево та ціле число K. Наша мета - повернути, чи є в дереві шлях від кореня до листя, такий що його сума дорівнює цільовій-К. Сума шляху - це сума всіх вузлів, які на ньому лежать. 2 / \ ...

докладніше

Питання 122. Перетворення бінарного дерева в бінарне дерево пошуку У проблемі перетворення бінарного дерева в бінарне дерево пошуку ми запропонували бінарне дерево перетворити його у бінарне дерево пошуку, не змінюючи структури дерева. Приклад попереднього замовлення вихідних даних: 13 8 6 47 25 51 Алгоритм Нам не потрібно змінювати структуру ...

докладніше

Питання 123. Відсортований масив до збалансованого BST У відсортованому масиві до задачі збалансованого BST ми подали масив у відсортованому порядку, побудуємо Збалансоване двійкове дерево пошуку з відсортованого масиву. Приклади Вхід arr [] = {1, 2, 3, 4, 5} Вихідне попереднє замовлення: 3 2 1 5 4 Вхід arr [] = {7, 11, 13, 20, 22, ...

докладніше

Питання 124. Побудуйте BST з заданого обходу рівня замовлення Враховуючи обхід порядку замовлення рівнів бінарного дерева пошуку, напишіть алгоритм побудови дерева бінарного пошуку або BST з обробленого ним порядку обходу порядку. Приклад Вхідний рівеньЗамовлення [] = {18, 12, 20, 8, 15, 25, 5, 9, 22, 31} Вихід у порядку: 5 8 9 12 15 18 ...

докладніше

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

докладніше

Питання 126. Обхід рівня обертання у спіральній формі У цій задачі ми подали двійкове дерево, надрукувавши обхід порядку порядку у спіральній формі. Приклади Вихідні дані 10 30 20 40 50 80 70 60 Наївний підхід до обходу порядку рівня у спіральній формі Ідея полягає в тому, щоб зробити звичайний обхід порядку рівня за допомогою ...

докладніше

Питання 127. Kth найменший елемент у BST У цій задачі ми дали BST і число k, знайдемо k-й найменший елемент у BST. Приклади Дерево введення [] = {5, 3, 6, 2, 4, null, null, 1} k = 3 Вихід 3 Дерево введення [] = {3, 1, 4, null, 2} k = 1 Вихід 1. ..

докладніше

Питання 128. Найнижчий загальний предок Враховуючи корінь двійкового дерева та два вузли n1 та n2, знайдіть LCA (Найнижчий загальний предок) вузлів. Приклад Що таке найнижчий загальний предок (LCA)? Предками вузла n є вузли, присутні на шляху між коренем і вузлом. Розглянемо бінарне дерево, показано в ...

докладніше

Питання 129. Обхід порядку двійкового дерева зигзагом Отримавши двійкове дерево, надрукуйте обхід порядку його зигзагоподібних значень вузлів. (тобто зліва направо, потім справа наліво для наступного рівня та чергування). Приклад розглянемо бінарне дерево, наведене нижче. Нижче наведено обхід порядку зигзагоподібного рівня вищезазначених типів бінарного дерева ...

докладніше

Питання 130. Симетричне дерево У задачі "Симетричне дерево" ми подали двійкове дерево, перевірте, чи не є воно дзеркалом самого себе. Дерево називається дзеркальним відображенням самого себе, якщо існує вісь симетрії через кореневий вузол, який ділить дерево на дві однакові половини. Типи прикладів ...

докладніше

Питання 131. Найдовший загальний префікс за допомогою Trie У найдовшому загальному префіксі за допомогою проблеми Trie ми подали набір рядків, знайдіть найдовший загальний префікс. тобто знайти префіксну частину, загальну для всіх рядків. Приклад Введення1: {“tutorialcup”, “tutorial”, “tussle”, “tumble”} Вихід: „tu“ Вхід2: {„багаж“, „банан“, „битви“] Вихід: „ba“ Вхід3: {„abcd "} Вихід:" abcd "...

докладніше

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

докладніше

Питання 133. Сума шляху Що таке проблема суми шляху? У задачі Сума шляху ми вказали двійкове дерево та ціле число SUM. Ми маємо знайти, чи має будь-який шлях від кореня до листка суму, рівну сумі. Сума шляху визначається як сума всіх вузлів ...

докладніше

Питання 134. Обхід порядку бінарного дерева Обхід порядку замовлення рівня даного бінарного дерева такий самий, як BFS бінарного дерева. Ми вже знаємо про те, що насправді є BFS? якщо ні, то не потрібно почувати себе погано, просто прочитайте цілу статтю та відвідайте наші попередні статті для кращого розуміння. BFS - це ...

докладніше

Графічні запитання Apple

Питання 135. Клонування графіків Що таке клонування графіків? Сьогодні ми маємо з собою посилання на ненаправлений графік. Що нам робити? Повернення глибокої копії наданого графіку. Давайте розглянемо структуру: Вузол класу: Він складається із значення даних та сусідів, пов'язаних з кожним ...

докладніше

Стек запитання Apple

Питання 136. Рішення міні-стека Leetcode Постановка проблеми Сконструюйте стек, який підтримує push, pop, top і отримання мінімального елемента за постійний час. push (x) - висунути елемент x на стек. pop () - Видаляє елемент зверху стека. top () - Отримати верхній елемент. getMin () - Отримати мінімальний елемент у стеку. ...

докладніше

Питання 137. Максимальний стек Постановка проблеми Проблема “Максимальний стек” передбачає розробку спеціального стека, який може виконувати ці операції: push (x): натискання одного елемента в стек. top (): повертає елемент, який знаходиться у верхній частині стека. pop (): вилучіть елемент зі стопки, яка знаходиться вгорі. peekmax (): ...

докладніше

Питання 138. Обхід рівня обертання у спіральній формі У цій задачі ми подали двійкове дерево, надрукувавши обхід порядку порядку у спіральній формі. Приклади Вихідні дані 10 30 20 40 50 80 70 60 Наївний підхід до обходу порядку рівня у спіральній формі Ідея полягає в тому, щоб зробити звичайний обхід порядку рівня за допомогою ...

докладніше

Питання 139. Захоплення дощової води У задачі «Захоплення дощової води» ми дали N невід’ємних цілих чисел, що представляють карту висот, а ширина кожної смуги дорівнює 1. Нам потрібно знайти кількість води, яка може потрапити у вищезазначену структуру. Приклад Давайте зрозуміємо це на прикладі Для вищезазначеної висоти ...

докладніше

Питання 140. Розшифрувати рядок Припустимо, вам дано закодований рядок. Рядок кодується за якимось шаблоном, ваше завдання - декодувати рядок. Скажімо, <кількість випадків, коли трапляється рядок> [рядок] Приклад Введення 3 [b] 2 [bc] Вихід bbbcaca Пояснення Тут “b” трапляється 3 рази, а “ca” трапляється 2 рази. ...

докладніше

Питання 141. Обхід порядку двійкового дерева зигзагом Отримавши двійкове дерево, надрукуйте обхід порядку його зигзагоподібних значень вузлів. (тобто зліва направо, потім справа наліво для наступного рівня та чергування). Приклад розглянемо бінарне дерево, наведене нижче. Нижче наведено обхід порядку зигзагоподібного рівня вищезазначених типів бінарного дерева ...

докладніше

Питання 142. Проблема зі знаменитостями Постановка проблеми У проблемі зі знаменитостями є кімната з N людей. Знайди знаменитість. Умови для знаменитості - якщо А - знаменитість, тоді всі інші в кімнаті повинні знати А. А не повинен знати нікого в кімнаті. Нам потрібно знайти людину, яка відповідає цим умовам. ...

докладніше

Питання 143. Наступний великий елемент у масиві Постановка проблеми Враховуючи масив, ми знайдемо наступний більший елемент кожного елемента масиву. Якщо для цього елемента немає наступного більшого елемента, ми надрукуємо -1, інакше ми надрукуємо цей елемент. Примітка: Наступним більшим елементом є той елемент, який більший і ...

докладніше

Черга Питання Apple

Питання 144. Обхід порядку двійкового дерева зигзагом Отримавши двійкове дерево, надрукуйте обхід порядку його зигзагоподібних значень вузлів. (тобто зліва направо, потім справа наліво для наступного рівня та чергування). Приклад розглянемо бінарне дерево, наведене нижче. Нижче наведено обхід порядку зигзагоподібного рівня вищезазначених типів бінарного дерева ...

докладніше

Питання 145. Реконструкція черги за висотою Опис проблеми відновлення черги за висотою Припустимо, у вас є випадковий список людей, які стоять у черзі. Кожна людина описується парою цілих чисел (h, k), де h - зріст людини, k - кількість людей перед цією людиною ...

докладніше

Питання 146. Обхід порядку бінарного дерева Обхід порядку замовлення рівня даного бінарного дерева такий самий, як BFS бінарного дерева. Ми вже знаємо про те, що насправді є BFS? якщо ні, то не потрібно почувати себе погано, просто прочитайте цілу статтю та відвідайте наші попередні статті для кращого розуміння. BFS - це ...

докладніше

Матричні запитання Apple

Питання 147. Рішення для пошуку слів Leetcode Постановка задачі Враховуючи таблицю mxn та слово, знайдіть, чи існує це слово у сітці. Слово можна побудувати з літер послідовно розташованих сусідніх комірок, де «сусідні» клітинки розташовані по горизонталі чи вертикалі сусідні. Одну і ту ж буквену комірку можна використовувати не більше одного разу. Приклад ...

докладніше

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

докладніше

Питання 149. Максимальна площа У задачі про максимальний квадрат ми подали двовимірну двійкову матрицю, заповнену 2 і 0, знайшли найбільший квадрат, що містить лише 1, і повернули його площу. Приклад введення: 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 ...

докладніше

Питання 150. Встановити нулі матриці У задачі нульових матриць задано матрицю (n X m), якщо елемент дорівнює 0, встановіть весь його рядок і стовпець 0. Приклади Вхід: {[1, 1, 1] [1, 0, 1] [1, 1, 1]} Вихід: {[1, 0, 1] [0, 0, 0] [1, 0, 1] ...

докладніше

Питання 151. Множення двох матриць Постановка задачі У задачі “Множення двох матриць” ми подали дві матриці. Ми маємо помножити ці матриці та надрукувати результат або кінцеву матрицю. Тут необхідною і достатньою умовою є кількість стовпців в A, яка повинна дорівнювати кількості рядків у матриці ...

докладніше

Питання 152. Проблема зі знаменитостями Постановка проблеми У проблемі зі знаменитостями є кімната з N людей. Знайди знаменитість. Умови для знаменитості - якщо А - знаменитість, тоді всі інші в кімнаті повинні знати А. А не повинен знати нікого в кімнаті. Нам потрібно знайти людину, яка відповідає цим умовам. ...

докладніше

Інші питання Apple

Питання 153. Kth найбільший елемент у рішенні Leetcode Stream Постановка проблеми У цій задачі ми повинні розробити клас KthLargest (), який спочатку має ціле число k та масив цілих чисел. Нам потрібно написати параметризований конструктор для нього, коли ціле число k і числа масиву передаються як аргументи. У класі також є функція add (val), яка додає ...

докладніше

Питання 154. Видалення зв’язаних елементів списку Рішення штрихкоду Постановка проблеми У цій задачі ми отримуємо зв’язаний список із його вузлами, що мають цілі значення. Нам потрібно видалити зі списку деякі вузли, значення яких дорівнює val. Проблема не вимагає вирішення на місці, але ми обговоримо один із таких підходів. Приклад списку = ...

докладніше

Питання 155. Рішення з доповненням номерів із штрихкодом Постановка проблеми У цій задачі нам дається десяткове число. Мета - знайти його доповнення. Приклад N = 15 0 N = 5 2 Підхід (гортання по бітах) Ми можемо перевернути кожен біт у цілому числу 'N', щоб отримати його доповнення. Важливо, що ми ...

докладніше

Питання 156. Мінімальне переміщення до рівних елементів масиву Рішення коду Постановка проблеми У цій задачі ми отримуємо масив цілих чисел. Крім того, нам дозволено виконувати певний набір операцій над цим масивом. За одну операцію ми можемо збільшити ”n - 1 ″ (усі елементи, крім будь-якого) елементи в масиві на 1. Нам потрібно ...

докладніше

Питання 157. Комбінації рішення Leetcode Проблема Комбінації рішення Леткод надає нам два цілих числа, n і k. Нам кажуть генерувати всі послідовності, які мають k елементів, вибраних з n елементів від 1 до n. Ми повертаємо ці послідовності як масив. Давайте розглянемо кілька прикладів, щоб отримати ...

докладніше

Питання 158. Розчин Leetcode для коштовностей та каменів Проблема Leetcode Solution Jewels and Stones говорить про те, що вам дано два рядки. Один з них представляє коштовності, а один - каміння. Рядок, що містить коштовності, представляє символів, які є коштовностями. Нам потрібно знайти кількість символів у рядку каменів, які ...

докладніше

Питання 159. Рішення Leetcode для елемента більшості Постановка задачі Нам дається масив цілих чисел. Нам потрібно повернути ціле число, яке трапляється більше ніж ⌊N / 2⌋ часу в масиві, де ⌊ ⌋ є оператором підлоги. Цей елемент називається елементом більшості. Зверніть увагу, що вхідний масив завжди містить більшість елементів. ...

докладніше

Питання 160. Рішення штрих-коду, пов’язане із паліндромом У задачі “Паліндромний зв’язаний список” ми маємо перевірити, чи є даний єдино цілочисельно пов’язаний список паліндром чи ні. Приклад списку = {1 -> 2 -> 3 -> 2 -> 1} true Пояснення №1: Список є паліндромом, оскільки всі елементи від початку та назад є ...

докладніше

Питання 161. Пошук у двійковому дереві пошуку з використанням штрих-коду У цій задачі ми отримуємо двійкове дерево пошуку та ціле число. Нам потрібно знайти адресу вузла зі значенням, однаковим із заданим цілим числом. Для перевірки нам потрібно надрукувати обхід попереднього замовлення піддерева, що має цей вузол як корінь. Якщо там ...

докладніше

Питання 162. Pow (x, n) Рішення Leetcode У задачі “Pow (x, n) Leetcode Solution” зазначено, що вам дано два числа, одне з яких - число з плаваючою крапкою, а інше - ціле число. Ціле число позначає показник ступеня, а основа - число з плаваючою точкою. Нам пропонують знайти значення після обчислення показника ступеня над основою. ...

докладніше

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

докладніше

Питання 164. Об’єднайте два сортовані списки рішень для Леткоду Пов’язані списки за своїми лінійними властивостями схожі на масиви. Ми можемо об’єднати два відсортовані масиви, щоб сформувати загальний відсортований масив. У цій проблемі ми повинні об’єднати два відсортовані зв’язані списки на місці, щоб повернути новий список, який містить елементи обох списків упорядковано. Приклад ...

докладніше

Питання 165. Перестановка Leetcode Solution Задача Permutations Leetcode Solution надає просту послідовність цілих чисел і просить нас повернути повний вектор або масив усіх перестановок заданої послідовності. Отже, перед тим як займатись вирішенням проблеми. Ми повинні бути знайомі з перестановками. Отже, перестановка - це не що інше, як домовленість ...

докладніше

Питання 166. Мінімальна глибина рішення двійкового дерева Leetcode У цій задачі нам потрібно знайти довжину найкоротшого шляху від кореня до будь-якого листа у даному двійковому дереві. Зверніть увагу, що “довжина шляху” тут означає кількість вузлів від кореневого вузла до листового вузла. Ця довжина називається мінімальною ...

докладніше

Питання 167. Потужність рішення з двома кодами Нам дають ціле число, і мета полягає в тому, щоб перевірити, чи є ціле число степенною з двох, тобто воно може бути представлене як деяка ціла ступінь '2'. Приклад 16 Так 13 Ні Підхід Тривіальним рішенням може бути: Перевірити, чи всі прості множники цілого числа ...

докладніше

Питання 168. Рішення з двома сумами Leetcode У цій задачі ми маємо знайти пару двох різних індексів у відсортованому масиві, які їх значення складаються із заданою ціллю. Можна припустити, що масив має лише одну пару цілих чисел, які складаються з цільовою сумою. Зверніть увагу, що масив ...

докладніше

Питання 169. Лічильні рішення для підрахунку праймів У цій задачі нам дається ціле число, N. Мета - підрахувати, як числа, менші за N, є простими числами. Ціле число може бути невід’ємним. Приклад 7 3 10 4 Пояснення Прайми менше 10 - це 2, 3, 5 і 7. Отже, кількість - 4. Підхід (груба ...

докладніше

Питання 170. Домашнє Розбійник II Рішення Leetcode У проблемі “Розбійник дому II” грабіжник хоче пограбувати гроші з різних будинків. Сума грошей у будинках представлена ​​через масив. Нам потрібно знайти максимальну суму грошей, яку можна заробити, додавши елементи до даного масиву відповідно до ...

докладніше

Питання 171. Sqrt (x) Рішення Leetcode Як сказано в назві, нам потрібно знайти квадратний корінь із числа. Скажімо, число є x, тоді Sqrt (x) - це таке число, що Sqrt (x) * Sqrt (x) = x. Якщо квадратний корінь з числа є деяким десятковим значенням, то ми повинні повернути мінімальне значення ...

докладніше

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

докладніше

Питання 173. Поміняйте місцями вузли у рішеннях Leetcode пар Мета цієї задачі - поміняти місцями вузли даного пов'язаного списку попарно, тобто поміняти місцями кожні два сусідні вузли. Якщо нам дозволено поміняти місцями лише значення вузлів списку, проблема буде тривіальною. Отже, нам заборонено змінювати вузол ...

докладніше

Питання 174. Рішення для домашніх грабіжників Leetcode Постановка проблеми У цій проблемі є будинки на вулиці, і грабіжник домів повинен пограбувати ці будинки. Але проблема в тому, що він не може пограбувати послідовно більше одного будинку, тобто сусідніх один з одним. Дано список цілих невід’ємних чисел, що представляють суму грошей ...

докладніше

Питання 175. Рішення Leetcode щасливого числа Постановка проблеми Проблема полягає в тому, щоб перевірити, чи є число щасливим чи ні. Число називається щасливим числом, якщо замінити число на суму квадратів його цифр, і повторення процесу робить число рівним 1. якщо воно не ...

докладніше

Питання 176. Щасливий номер Постановка проблеми Що таке щасливе число? Число є щасливим числом, якщо ми можемо зменшити дане число до 1, дотримуючись цього процесу: -> Знайдіть суму квадрата цифр даного числа. Замініть цю суму на старе число. Ми повторимо це ...

докладніше

Питання 177. Зворотні біти Зворотні біти даного 32 біта без цілого числа без знака. Приклад Введення 43261596 (00000010100101000001111010011100) Вихід 964176192 (00111001011110000010100101000000) 32-бітове ціле число без знака відноситься до невід’ємного числа, яке може бути представлене рядком із 32 символів, де кожен символ може бути або „0”, або „1”. Алгоритм для i в діапазоні 0 ...

докладніше

Питання 178. K-й виразний елемент у масиві Вам дано цілочисельний масив A, надрукувати k-й окремий елемент у масиві. Даний масив може містити дублікати, і на виході повинен бути надрукований k-й виразний елемент серед усіх унікальних елементів масиву. Якщо k більше, ніж кількість різних елементів, повідомте про це. Приклад введення: ...

докладніше

Питання 179. Перестановки Leetcode У цій премутації задачі leetcode ми дали масив різних цілих чисел, надрукувавши всі можливі перестановки. Приклади Вхід arr [] = {1, 2, 3} Вихід 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 Вхід arr [] = {1, 2, ...

докладніше

Питання 180. Розв’язувач судоку У задачі розв’язання судоку ми дали частково заповнений (9 х 9) судоку, напишіть програму для завершення головоломки. Судоку повинен задовольняти наступним властивостям. Кожне число (1-9) має з’являтися рівно один раз поспіль та один раз у стовпці. Кожне число (1-9) повинно з'являтися рівно один раз у ...

докладніше

Питання 181. Підрахунок біт Все про підрахунок біт! Люди мають проблеми у спілкуванні з комп’ютерами, які вони виготовили. Чому? Люди розмовляють і розуміють ту мову, якою вони прийшли говорити і слухати її протягом багатьох років, але вони навчали бідних комп’ютерів 0 і 1. Отже, сьогодні навчимо наш комп’ютер рахувати ...

докладніше

Питання 182. Об’єднати K відсортовані зв’язані списки Проблема відсортованих зв’язаних списків K настільки відома, як на думку інтерв’ю. Це питання стільки разів задається у таких великих компаніях, як Google, Microsoft, Amazon тощо. Як випливає з назви, нам було надано k відсортованих пов'язаних списків. Ми повинні об'єднати їх разом у ...

докладніше

Питання 183. Об’єднайте два відсортовані зв’язані списки При об’єднанні двох відсортованих зв’язаних списків ми дали вказівник на голову двох зв’язаних списків, об’єднайте їх таким чином, щоб вийшов єдиний зв’язаний список, який має вузли зі значеннями в сортуванні. повертає головний покажчик об'єднаного пов'язаного списку. Примітка: об’єднайте пов’язаний список на місці, не використовуючи ...

докладніше

Питання 184. Знайти медіану з потоку даних У статті Знайти медіану з проблеми потоку даних ми вказали, що цілі числа зчитуються з потоку даних. Знайдіть медіану всіх прочитаних на сьогодні елементів, починаючи з першого цілого і до останнього цілого числа. Приклад Вхід 1: потік [] = {3,10,5,20,7,6} Вихід: 3 6.5 ...

докладніше

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

докладніше

Питання 186. Розрив слів Розрив слів - це проблема, яка чудово ілюструє абсолютно нову концепцію. Ми всі чули про складні слова. Слова, що складаються з більш ніж двох слів. Сьогодні у нас є список слів, і все, що нам потрібно зробити, це перевірити, чи всі слова зі словника можуть ...

докладніше

Питання 187. Сила двох У задачі "Сила двох" ми дали ціле число, перевірте, чи це потужність 2 чи ні. Число в ступені два, якщо воно має лише один заданий біт у двійковому поданні. Давайте подивимось один приклад числа, яке містить лише один набір ...

докладніше

Питання 188. Об’єднайте два відсортовані списки Leetcode Що таке проблема злиття двох відсортованих списків на leetcode? Це настільки цікаве запитання, яке ставлять стільки разів у таких компаніях, як Amazon, Oracle, Microsoft тощо. У цій проблемі (Merge Two Sorted Lists Leetcode) ми навели два зв’язані списки. Обидва зв’язані списки знаходяться в порядку зростання. Об’єднати обидва зв’язані списки в ...

докладніше

Питання 189. Зворотні вузли в K-групі Проблема У зворотних вузлах у задачі K-Group ми дали зв’язаний список, змінивши зв’язаний список у групі k та повернувши змінений список. Якщо вузли не кратні k, тоді решту вузлів поверніть назад. Значення k завжди менше або дорівнює ...

докладніше

Питання 190. Кам'яна гра LeetCode У чому проблема Stone Game? Stone Game LeetCode - Два гравці A і B грають у кам’яну гру. Існує парна кількість паль у кожній купі, що містить кілька каменів, і загальна кількість каменів у всіх купах є непарною. А і В повинні також вибрати купу ...

докладніше

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

докладніше

Питання 192. Об’єднати сортування Що таке сортування злиттям? Сортування злиття - це рекурсивна процедура. Це також алгоритм розділення та перемоги. Тепер нам потрібно знати, що таке алгоритм поділу та завоювання? Це тип процедури, при якій ми ділимо проблему на підзадачі і ділимо їх, поки не знайдемо найкоротший ...

докладніше

Питання 193. Дійсне судоку Дійсне судоку - це проблема, в якій ми дали дошку судоку 9 * 9. Нам потрібно знайти вказане Судоку дійсним чи ні на основі наступних правил: Кожен рядок повинен містити цифри 1-9 без повторення. Кожен стовпець повинен містити цифри 1-9 без повторення. Кожен із 9 підполів 3x3 ...

докладніше

Питання 194. Додайте два числа Додавання двох чисел - це проблема, при якій ми дали два не порожні зв’язані списки, що представляють ціле невід’ємне число. Цифри зберігаються в зворотному порядку, і кожен вузол повинен містити лише одну цифру. Додайте два числа та роздрукуйте результат за допомогою пов’язаного списку. Формат введення ...

докладніше

Питання 195. Сито Ератостена Решето Ератосфена - це алгоритм, у якому ми знаходимо прості числа, менші за N. Тут N - ціле число. Це ефективний метод для визначення простих чисел до межі. Використовуючи це, ми можемо дізнатися прості числа до 10000000. Тут ...

докладніше

Питання 196. N проблема королеви N королева проблема з використанням концепції зворотного відстеження. Тут ми ставимо королеву так, щоб жодна королева не була в стані атаки. Умова атаки дам полягає в тому, що якщо дві дами знаходяться в одній колонці, рядку та діагоналі, тоді вони піддаються атаці. Давайте подивимось це на малюнку нижче. Ось ...

докладніше

Питання 197. Нова гра 21 Нова гра 21 - це проблема, яка базується на картковій грі “21”. Постановка проблеми цієї задачі проста. Ми спочатку маємо 0 балів. Якщо значення наших поточних балів менше K балів, тоді ми малюємо цифри. Під час кожного розіграшу ми отримуємо ...

докладніше

Питання 198. Сходження по сходах Постановка проблеми Проблема “Підйом по сходах” говорить про те, що вам дають сходи з n сходами. Одночасно ви можете піднятися по одній або двох сходах. Скільки всього способів піднятися на вершину сходів? Приклад 3 3 Пояснення Є три способи піднятися ...

докладніше

Питання 199. Числа Фібоначчі Числа Фібоначчі - це числа, що утворюють ряд, що називається серією Фібоначчі, і представлені як Fn. Перші два числа Фібоначчі дорівнюють 0 та 1 відповідно, тобто F0 = 0 та F1 = 1. Починаючи з третього числа Фібоначчі, кожне число Фібоначчі - це сума попередніх двох чисел у ...

докладніше

Питання 200. Вставити вузол у відсортований зв’язаний список Постановка проблеми У проблемі “Вставити вузол у відсортований зв’язаний список” ми дали зв’язаний список. Вставте новий вузол у відсортований зв’язаний список відсортованим способом. Після вставки вузла в відсортований пов'язаний список кінцевим пов'язаним списком повинен бути відсортований пов'язаний список. ...

докладніше

Питання 201. Виявити цикл у зв’язаному списку Постановка проблеми У задачі “Виявлення циклу у пов’язаному списку” ми навели пов’язаний список. Знайдіть, є петля чи ні. Якщо у зв’язаному списку є цикл, то якийсь вузол у зв’язаному списку буде вказувати на один із попередніх вузлів ...

докладніше