Pytania do wywiadu w Cytadeli

Pytania dotyczące tablicy Cytadeli

Pytanie 1. Rozwiązanie pułapkowania wody deszczowej Leetcode Opis problemu Rozwiązanie „Trapping Rain Water” LeetCode – „Trapping Rain Water” stwierdza, że ​​mając tablicę wysokości, która reprezentuje mapę wysokości, gdzie szerokość każdego słupka wynosi 1. Musimy znaleźć ilość wody uwięzionej po deszczu. Przykład: Wejście: wysokość = [0,1,0,2,1,0,1,3,2,1,2,1] Wyjście: 6 Wyjaśnienie: Sprawdź ...

Czytaj więcej

Pytanie 2. Coin Change 2 Rozwiązanie Leetcode Opis problemu Rozwiązanie LeetCode Coin Change 2 – „Coin Change 2” oznacza, że ​​podano tablicę różnych liczb całkowitych monet i liczbę całkowitą, reprezentującą całkowitą kwotę pieniędzy. Musimy zwrócić liczbę całkowitej liczby różnych możliwych kombinacji, które sumują się do kwoty. ...

Czytaj więcej

Pytanie 3. Liczba par indeksów z równymi elementami w tablicy Załóżmy, że podaliśmy tablicę liczb całkowitych. Zadanie „Liczba par indeksów o równych elementach w tablicy” wymaga znalezienia liczby par indeksów (i, j) w taki sposób, że arr [i] = arr [j] i i nie jest równe j . Przykład arr [] = {2,3,1,2,3,1,4} 3 pary objaśnień ...

Czytaj więcej

Pytanie 4. Najdłuższa podtablica nie mająca więcej niż K odrębnych elementów Problem „Najdłuższa podtablica nie mająca więcej niż K odrębnych elementów” stwierdza, że ​​zakładając, że masz tablicę liczb całkowitych, instrukcja problemu prosi o znalezienie najdłuższej podtablicy, która ma nie więcej niż k różnych elementów. Przykład arr [] = {4, 3, 5, 2, 1, 2, 0, 4, 5} ...

Czytaj więcej

Pytanie 5. Minimalna operacja, aby wszystkie elementy były równe w tablicy Problem „Minimalna operacja, aby wszystkie elementy były równe w tablicy” mówi, że otrzymujesz tablicę z pewnymi liczbami całkowitymi. Musisz znaleźć minimalne operacje, które można wykonać, aby tablica była równa. Przykład [1,3,2,4,1] 3 Wyjaśnienie Albo 3 odejmowania mogą być ...

Czytaj więcej

Pytanie 6. Różnica między najwyższymi i najmniejszymi częstotliwościami w tablicy Problem „Różnica między najwyższymi i najmniejszymi częstotliwościami w tablicy” zakłada, że ​​masz tablicę liczb całkowitych. Zadanie zawiera prośbę o ustalenie maksymalnej różnicy między najwyższą częstotliwością a najniższą częstotliwością dwóch różnych liczb w tablicy. Przykład arr [] = {1, 2, 3, ...

Czytaj więcej

Pytanie 7. k-ty brakujący element w rosnącej sekwencji, który nie występuje w danej sekwencji Problem „k-ten brakujący element w kolejności rosnącej, którego nie ma w danej sekwencji” mówi, że otrzymujesz dwie tablice. Jedna z nich jest ułożona w porządku rosnącym, a druga normalna tablica nieposortowana o numerze k. Znajdź k-ty brakujący element, którego nie ma w normalnym ...

Czytaj więcej

Pytanie 8. Sprawdź, czy dana tablica zawiera zduplikowane elementy w odległości k od siebie Problem „Sprawdź, czy dana tablica zawiera zduplikowane elementy w odległości k od siebie” mówi, że musimy sprawdzić, czy w danej tablicy nieuporządkowanej w zakresie k nie ma duplikatów. Tutaj wartość k jest mniejsza niż podana tablica. Przykłady K = 3 arr [] = ...

Czytaj więcej

Pytanie 9. Znajdź wszystkie pary (a, b) w tablicy takiej, że a% b = k Stwierdzenie problemu Problem „Znajdź wszystkie pary (a, b) w tablicy, w której a% b = k” stwierdza, że ​​otrzymujesz tablicę liczb całkowitych i wartość całkowitą o nazwie k. Opis problemu prosi o znalezienie pary w taki sposób, że x ...

Czytaj więcej

Pytanie 10. Zapytania dotyczące XOR największego nieparzystego dzielnika zakresu Stwierdzenie problemu Problem „Zapytania na XOR największego nieparzystego dzielnika zakresu” stwierdza, że ​​otrzymujesz tablicę liczb całkowitych i zapytanie q, każde zapytanie składa się z zakresu. Opis problemu prosi o znalezienie XOR największego nieparzystego dzielnika w podanym zakresie ...

Czytaj więcej

Pytanie 11. Trójkierunkowe partycjonowanie tablicy wokół podanego zakresu Stwierdzenie problemu Otrzymujesz tablicę liczb całkowitych oraz zakres lowValue i highValue. Problem „Trójstronne partycjonowanie tablicy wokół określonego zakresu” wymaga podzielenia tablicy w taki sposób, aby tablica została podzielona na trzy części. Podziałami tablic będą: Elementy ...

Czytaj więcej

Pytanie 12. Zastąp dwie kolejne równe wartości jedną większą Instrukcja problemu Załóżmy, że masz tablicę liczb całkowitych. Problem „Zamień dwie kolejne równe wartości na jedną większą” polega na zastąpieniu wszystkich tych par wartości, które mówią „a”, które pojawia się kolejno liczbą „a + 1” 1 większą od nich (dwie kolejne liczby), tak że nawet po modyfikacji lub powtórzenie tam ...

Czytaj więcej

Pytanie 13. Znajdź posortowany podciąg o rozmiarze 3 w czasie liniowym Stwierdzenie problemu Problem „Znajdź posortowany podciąg o rozmiarze 3 w czasie liniowym” stwierdza, że ​​masz tablicę liczb całkowitych. Instrukcja problemu prosi o znalezienie trzech liczb w taki sposób, że tablica [i] <tablica [k] <tablica [k] i i <j <k. Przykład arr [] ...

Czytaj więcej

Pytanie 14. Zmień kolejność w tablicy - najmniejsza, największa, druga najmniejsza, druga co do wielkości Instrukcja problemu Załóżmy, że masz tablicę liczb całkowitych. Problem „Zmień kolejność tablicy w kolejności - najmniejsza, największa, druga najmniejsza, druga co do wielkości…” polega na zmianie kolejności tablicy w taki sposób, aby najpierw była najmniejsza liczba, potem największa, potem druga najmniejsza, a potem druga ...

Czytaj więcej

Pytanie 15. Policz pary z dwóch posortowanych tablic, których suma jest równa danej wartości x Instrukcja problemu „Policz pary z dwóch posortowanych tablic, których suma jest równa podanej wartości x” problem stwierdza, że ​​otrzymujesz dwie posortowane tablice liczb całkowitych i wartość całkowitą zwaną sumą. Opis problemu prosi o ustalenie całkowitej liczby par, która sumuje się do ...

Czytaj więcej

Pytanie 16. Drukowanie nawiasów w problemie mnożenia łańcucha macierzy Stwierdzenie problemu Musimy znaleźć taką kolejność mnożenia macierzy, aby liczba operacji związanych z mnożeniem wszystkich macierzy była zminimalizowana. Następnie musimy wydrukować to zlecenie, czyli wydrukować nawiasy w problemie mnożenia łańcucha macierzy. Rozważ, że masz 3 macierze A, B, ...

Czytaj więcej

Pytanie 17. Wstaw Usuń GetRandom W problemie Insert Delete GetRandom musimy zaprojektować strukturę danych, która obsługuje wszystkie kolejne operacje w średnim czasie O (1). insert (val): Wstawia wartość pozycji do zestawu, jeśli jeszcze nie istnieje. remove (val): Usuwa wartość pozycji z zestawu, jeśli jest obecna. getRandom: Zwraca losowy element z bieżącego zestawu ...

Czytaj więcej

Pytanie 18. Zwiększenie kolejności długości o trzy z maksymalnym produktem Stwierdzenie problemu W zadaniu „Zwiększanie kolejności długości trzech z maksymalnym iloczynem” podaliśmy tablicę dodatnich liczb całkowitych. Znajdź podciąg o długości 3 z maksymalnym produktem. Kolejność powinna rosnąć. Format wejściowy Pierwszy i jedyny wiersz zawierający liczbę całkowitą N oznaczającą rozmiar ...

Czytaj więcej

Pytanie 19. Znajdź maksymalną powtarzającą się liczbę w tablicy Stwierdzenie problemu W zadaniu „Znajdź maksymalną powtarzającą się liczbę w tablicy” podaliśmy nieposortowaną tablicę o rozmiarze N. Podana tablica zawiera liczby z zakresu {0, k} gdzie k <= N. Znajdź liczbę, która zbliża się do maksymalnej liczby razy w tablicy. Format wejściowy ...

Czytaj więcej

Pytanie 20. Liczba trojaczków z sumą mniejszą niż podana wartość Instrukcja problemu Podaliśmy tablicę zawierającą N elementów. W podanej tablicy Policz liczbę trójek z sumą mniejszą niż podana wartość. Przykład Wejście a [] = {1, 2, 3, 4, 5, 6, 7, 8} Suma = 10 Wyjście 7 Możliwe tróje to: ...

Czytaj więcej

Pytanie 21. Znajdź trójkę w tablicy z podaną sumą Instrukcja problemu Mając tablicę liczb całkowitych, znajdź kombinację trzech elementów w tablicy, których suma jest równa danej wartości X. Tutaj wypiszemy pierwszą otrzymaną kombinację. Jeśli nie ma takiej kombinacji, wypisz -1. Przykładowe wejście N = 5, X = 15 arr [] = ...

Czytaj więcej

Pytanie 22. Pierwszy powtarzający się element Instrukcja problemu Podaliśmy tablicę zawierającą n liczb całkowitych. Musimy znaleźć pierwszy powtarzający się element w podanej tablicy. Jeśli nie ma powtarzającego się elementu, wypisz „Nie znaleziono powtarzającej się liczby całkowitej”. Uwaga: elementy powtarzające się to elementy, które pojawiają się więcej niż raz. (Tablica może zawierać duplikaty) ...

Czytaj więcej

Pytanie 23. Układanka z tablicą produktów Stwierdzenie problemu W przypadku zagadki z tablicą produktową musimy skonstruować tablicę, w której i-ty element będzie iloczynem wszystkich elementów w danej tablicy z wyjątkiem elementu na i-tej pozycji. Przykład Wejście 5 10 3 5 6 2 Wyjście 180 ...

Czytaj więcej

Pytanie 24. Znajdź pierwszą powtarzającą się liczbę w podanej tablicy Stwierdzenie problemu Tablica może zawierać wiele powtarzających się liczb, ale musisz znaleźć pierwszą powtarzającą się liczbę w danej tablicy (występującą po raz drugi). Przykład Wejście 12 5 4 2 8 9 7 12 5 6 12 4 7 Wyjście 5 jest pierwszym powtarzającym się elementem ...

Czytaj więcej

Pytania dotyczące łańcucha cytadeli

Pytanie 25. Sprawdź, czy wszystkie rzędy macierzy są względem siebie obrotami kołowymi Stwierdzenie problemu W zadaniu „Sprawdź, czy wszystkie wiersze macierzy są nawzajem obrotami kołowymi”, podaliśmy macierz znakową, napisz program, który sprawdzi, czy wszystkie wiersze są względem siebie obrotami kołowymi, czy nie. Jeśli wszystkie wiersze są ze sobą okrężne, wydrukuj ...

Czytaj więcej

Pytanie 26. Długość najdłuższego prawidłowego podłańcucha Stwierdzenie problemu W polu „Długość najdłuższego prawidłowego podłańcucha” podaliśmy ciąg zawierający tylko nawiasy otwierające i zamykające. Napisz program, który znajdzie najdłuższy prawidłowy podciąg nawiasów. Format wejściowy Pierwsza i jedyna linia zawierająca ciąg znaków. Format wyjściowy Pierwszy i ...

Czytaj więcej

Pytania dotyczące drzewa cytadeli

Pytanie 27. Skonstruuj drzewo binarne z podanych przejść w kolejności i przed zamówieniem W tym problemie mamy uporządkowanie i preorder drzewa binarnego. Musimy skonstruować drzewo binarne z podanych przejść Inorder i Preorder. Przykładowe dane wejściowe: Inorder = [D, B, E, A, F, C] Preorder = [A, B, D, E, C, F] Dane wyjściowe: Wstępne zamówienie przejścia drzewa utworzonego przez ...

Czytaj więcej

Pytanie 28. Sprawdź poprawność drzewa wyszukiwania binarnego Problem W przypadku problemu z walidacją drzewa wyszukiwania binarnego, podaliśmy korzeń drzewa, musimy sprawdzić, czy jest to drzewo wyszukiwania binarnego, czy nie. Przykład: Wynik: true Wyjaśnienie: Podane drzewo jest drzewem wyszukiwania binarnego, ponieważ wszystkie elementy pozostawione w każdym poddrzewie ...

Czytaj więcej

Pytania dotyczące stosu Cytadeli

Pytanie 29. Rozwiązanie pułapkowania wody deszczowej Leetcode Opis problemu Rozwiązanie „Trapping Rain Water” LeetCode – „Trapping Rain Water” stwierdza, że ​​mając tablicę wysokości, która reprezentuje mapę wysokości, gdzie szerokość każdego słupka wynosi 1. Musimy znaleźć ilość wody uwięzionej po deszczu. Przykład: Wejście: wysokość = [0,1,0,2,1,0,1,3,2,1,2,1] Wyjście: 6 Wyjaśnienie: Sprawdź ...

Czytaj więcej

Pytania dotyczące kolejki do cytadeli

Pytanie 30. Kolejka priorytetowa korzystająca z podwójnie połączonej listy Opis problemu Problem „Kolejka priorytetowa korzystająca z podwójnie połączonej listy” wymaga zaimplementowania następujących funkcji kolejki priorytetowej przy użyciu podwójnie połączonej listy. push (x, p): Umieść element x z priorytetem p w kolejce priorytetowej na odpowiedniej pozycji. pop (): Usuń i zwróć element o najwyższym priorytecie ...

Czytaj więcej

Pytania dotyczące macierzy cytadeli

Pytanie 31. Drukowanie nawiasów w problemie mnożenia łańcucha macierzy Stwierdzenie problemu Musimy znaleźć taką kolejność mnożenia macierzy, aby liczba operacji związanych z mnożeniem wszystkich macierzy była zminimalizowana. Następnie musimy wydrukować to zlecenie, czyli wydrukować nawiasy w problemie mnożenia łańcucha macierzy. Rozważ, że masz 3 macierze A, B, ...

Czytaj więcej

Pytanie 32. Sprawdź, czy wszystkie rzędy macierzy są względem siebie obrotami kołowymi Stwierdzenie problemu W zadaniu „Sprawdź, czy wszystkie wiersze macierzy są nawzajem obrotami kołowymi”, podaliśmy macierz znakową, napisz program, który sprawdzi, czy wszystkie wiersze są względem siebie obrotami kołowymi, czy nie. Jeśli wszystkie wiersze są ze sobą okrężne, wydrukuj ...

Czytaj więcej

Cytadela Inne pytania

Pytanie 33. Oceń rozwiązanie LeetCode z odwróconą polską notacją Opis problemu Oceń odwrotną notację polską Rozwiązanie LeetCode – Oceń wartość wyrażenia arytmetycznego w odwrotnej notacji polskiej. Prawidłowe operatory to +, -, * i /. Każdy operand może być liczbą całkowitą lub innym wyrażeniem. Zauważ, że dzielenie między dwiema liczbami całkowitymi powinno skrócić się do zera. Gwarantuje się, że podane ...

Czytaj więcej

Pytanie 34. Sklep oparty na wartościach czasowych Rozwiązanie LeetCode Opis problemu Przechowywanie wartości klucza i wartości opartej na czasie Rozwiązanie LeetCode — zaprojektuj strukturę danych opartą na czasie, która może przechowywać wiele wartości dla tego samego klucza z różnymi znacznikami czasu i pobierać wartość klucza z określonym znacznikiem czasu. Zaimplementuj klasę TimeMap: TimeMap() Inicjuje obiekt struktury danych. void set(String key, String...

Czytaj więcej

Pytanie 35. Znajdź medianę ze strumienia danych Rozwiązanie LeetCode Opis problemu Znajdź medianę ze strumienia danych Rozwiązanie LeetCode — Mediana jest średnią wartością uporządkowanej listy liczb całkowitych. Jeśli rozmiar listy jest parzysty, nie ma średniej wartości, a mediana jest średnią z dwóch średnich wartości. Na przykład dla arr = [2,3,4] mediana ...

Czytaj więcej

Pytanie 36. Rozwiązanie LeetCode dotyczące zderzenia asteroid Opis problemu Asteroid Collision LeetCode Rozwiązanie – Otrzymaliśmy tablicę asteroid z liczbami całkowitymi reprezentującymi asteroidy w rzędzie. Dla każdej asteroidy wartość bezwzględna reprezentuje jej rozmiar, a znak wskazuje jej kierunek (pozytywne znaczenie w prawo, negatywne znaczenie w lewo). Każda asteroida porusza się z tą samą prędkością. Dowiedz się o stanie ...

Czytaj więcej

Pytanie 37. Serializuj i deserializuj drzewo binarne Rozwiązanie LeetCode Opis problemu Serializuj i deserializuj drzewo binarne Rozwiązanie LeetCode — Serializacja to proces przekształcania struktury danych lub obiektu w sekwencję bitów, dzięki czemu można je przechowywać w pliku lub buforze pamięci lub przesłać przez łącze sieciowe w celu późniejszej rekonstrukcji w ...

Czytaj więcej

Pytanie 38. Produkt Array z wyjątkiem rozwiązania Self LeetCode Opis problemu Iloczyn tablicy z wyjątkiem Self LeetCode Rozwiązanie – Mając tablicę liczb całkowitych nums, zwróć odpowiedź tablicową taką, że odpowiedź[i] jest równa iloczynowi wszystkich elementów nums z wyjątkiem nums[i]. Iloczyn dowolnego prefiksu lub sufiksu liczb gwarantuje, że zmieści się w 32-bitowej liczbie całkowitej. Musisz napisać algorytm, który działa w czasie O(n) i bez użycia dzielenia...

Czytaj więcej

Pytanie 39. Kth najmniejszy element w rozwiązaniu BST Leetcode Opis problemu K-ty najmniejszy element w rozwiązaniu BST Leetcode – Biorąc pod uwagę korzeń binarnego drzewa wyszukiwania i liczbę całkowitą k, zwróć k-tą najmniejszą wartość (1-indeksowaną) ze wszystkich wartości węzłów w drzewie. Przykłady: Dane wejściowe: root = [3,1,4,null,2], k = 1 Dane wyjściowe: 1 Dane wejściowe: root = [5,3,6,2,4,null,null,1], k ...

Czytaj więcej

Pytanie 40. Brzydki numer II Rozwiązanie LeetCode Opis problemu Brzydka liczba II LeetCode Rozwiązanie – Brzydka liczba to dodatnia liczba całkowita, której czynniki pierwsze są ograniczone do 2, 3 i 5. Biorąc pod uwagę liczbę całkowitą n, zwróć n-tą brzydką liczbę. Wejście: n = 10 Wyjście: 12 Wyjaśnienie: [1, 2, 3, 4, 5, 6, 8, 9, 10, 12] to sekwencja pierwszych 10 ...

Czytaj więcej

Pytanie 41. Rozwiązanie LeetCode z podziałem liczb całkowitych Opis problemu Integer Break LeetCode Rozwiązanie – Mając liczbę całkowitą n, podziel ją na sumę k dodatnich liczb całkowitych, gdzie k >= 2, i zmaksymalizuj iloczyn tych liczb całkowitych. Musimy zwrócić maksymalną ilość produktu, jaką możemy otrzymać. Wejście: n = 2 Wyjście: 1 Wyjaśnienie: 2 = 1 + 1, ...

Czytaj więcej

Pytanie 42. Maksymalny produkt z trzech liczb Rozwiązanie LeetCode Opis problemu Maksymalny iloczyn trzech liczb Rozwiązanie LeetCode – Otrzymaliśmy tablicę, pytanie prosi nas o obliczenie maksymalnego iloczynu dowolnych 3 liczb. Przykłady Przykład 1: Wejście: nums = [1,2,3] Wyjście: 6 Przykład 2: Wejście: nums = [1,2,3,4] Wyjście: 24 Przykład 3: Wejście: nums = ...

Czytaj więcej

Pytanie 43. Słowo Ladder Rozwiązanie LeetCode Opis problemu The Word Ladder Rozwiązanie LeetCode – „Word Ladder” oznacza, że ​​otrzymujesz ciąg beginWord, ciąg endWord i wordList. Musimy znaleźć najkrótszą długość sekwencji transformacji (jeśli nie ma ścieżki, wypisz 0) od beginWord do endWord po spełnieniu podanych warunków: Wszystkie słowa pośrednie powinny ...

Czytaj więcej

Pytanie 44. Najlepszy czas na kupowanie i sprzedawanie rozwiązań LeetCode Opis problemu Najlepszy czas na zakup i sprzedaż akcji Rozwiązanie LeetCode – „Najlepszy czas na zakup i sprzedaż akcji” oznacza, że ​​otrzymujesz tablicę cen, gdzie ceny[i] są ceną danych akcji w i-tym dniu. Chcesz zmaksymalizować zysk wybierając...

Czytaj więcej

Pytanie 45. Wydrukuj n warunków sekwencji Newmana-Conwaya Stwierdzenie problemu Problem „Wydrukuj n terminów sekwencji Newmana-Conwaya” stwierdza, że ​​otrzymujesz liczbę całkowitą „n”. Znajdź pierwszych n terminów sekwencji Newmana-Conwaya, a następnie wydrukuj je. Przykład n = 6 1 1 2 2 3 4 Wyjaśnienie Wszystkie terminy, które są drukowane zgodnie z sekwencją Newmana-Conwaya ...

Czytaj więcej

Pytanie 46. Przesuwne okno maksymalne W zadaniu Sliding Window Maximum podaliśmy liczbę tablic, dla każdego sąsiedniego okna o rozmiarze k znajdź maksymalny element w oknie. Przykład Wejściowe liczby [] = {1,3, -1, -3,5,3,6,7} k = 3 Dane wyjściowe {3,3,5,5,6,7} Objaśnienie Naiwne podejście do przesuwanego okna Maksimum dla każde sąsiednie okno o rozmiarze k, trawers ...

Czytaj więcej

Pytanie 47. Implementacja pamięci podręcznej LRU Najmniejsza ostatnio używana (LRU) pamięć podręczna to rodzaj metody używanej do przechowywania danych w taki sposób, aby czas potrzebny na ich wykorzystanie był jak najmniejszy. Algorytm LRU używany, gdy pamięć podręczna jest pełna. Usuwamy najmniej ostatnio używane dane z pamięci podręcznej ...

Czytaj więcej

Pytanie 48. Serializacja i deserializacja drzewa binarnego Podaliśmy drzewo binarne zawierające liczbę N węzłów, w których każdy węzeł ma jakąś wartość. Musimy serializować i deserializować drzewo binarne. Serializacja Proces przechowywania drzewa w pliku bez naruszania jego struktury nazywa się serializacją. DeserializeSerialize and Deserialize Binary Tree Proces ...

Czytaj więcej

Translate »