Otázky k rozhovoru s Citadelou

Otázky k pohovoru o návrhu systému může být tak otevřený, že je příliš těžké znát správný způsob přípravy. Nyní jsem schopen po nákupu prolomit designová kola Amazon, Microsoft a Adobe tato kniha. Denně jedna revize designová otázka a slibuji, že ten design dokážeš rozlousknout.

Rozhovory o návrhu systému Crack

Otázky ohledně pole Citadely

Otázka 1. Vložit Delete GetRandom O(1) Leetcode Solution Prohlášení o problému Řešení LeetCode Insert Delete GetRandom O(1) – „Insert Delete GetRandom O(1)“ vás žádá o implementaci těchto čtyř funkcí v časové složitosti O(1). insert(val): Vloží hodnotu do randomizované sady a vrátí hodnotu true, pokud prvek v sadě původně chybí. Vrací false, když...

Dozvědět se více

Otázka 2. Řešení Leetcode pro zachycení dešťové vody Prohlášení o problému Řešení LeetCode Trapping Rain Water – „Zachycování dešťové vody“ uvádí, že dané pole výšek představuje výškovou mapu, kde šířka každého sloupce je 1. Musíme najít množství vody zachycené po dešti. Příklad: Vstup: výška = [0,1,0,2,1,0,1,3,2,1,2,1] Výstup: 6 Vysvětlení: Zkontrolujte ...

Dozvědět se více

Otázka 3. Coin Change 2 Leetcode Solution Problémové prohlášení The Coin Change 2 LeetCode Solution – „Coin Change 2“ uvádí, že dané pole různých celých mincí a celočíselné množství představující celkovou částku peněz. Potřebujeme vrátit počet z celkového počtu různých možných kombinací, které se sčítají k částce. ...

Dozvědět se více

Otázka 4. Počet indexových párů se stejnými prvky v poli Předpokládejme, že jsme dali celé číslo. Úkol „Počet indexových párů se stejnými prvky v poli“ si žádá zjistit počet dvojic indexů (i, j) takovým způsobem, že arr [i] = arr [j] a i není rovno j . Příklad arr [] = {2,3,1,2,3,1,4} 3 dvojice vysvětlení ...

Dozvědět se více

Otázka 5. Nejdelší podoblast, která nemá více než K odlišných prvků Problém „Nejdelší dílčí pole, které nemá více než K odlišných prvků“ uvádí, že předpokládáme, že máte pole celých čísel, v prohlášení o problému je třeba zjistit nejdelší dílčí pole, které nemá více než k různých prvků. Příklad arr [] = {4, 3, 5, 2, 1, 2, 0, 4, 5} ...

Dozvědět se více

Otázka 6. Minimální operace, aby se všechny prvky v poli rovnaly Problém „Minimální operace k vyrovnání všech prvků v poli“ uvádí, že vám bylo dáno pole s několika celými čísly. Musíte zjistit minimální operace, které lze provést, aby se pole rovnalo. Příklad [1,3,2,4,1] 3 Vysvětlení Lze použít buď 3 odčítání ...

Dozvědět se více

Otázka 7. Rozdíl mezi nejvyšší a nejnižší frekvencí v poli Problém „Rozdíl mezi nejvyšší a nejnižší frekvencí v poli“ uvádí, že předpokládáme, že máte celé číslo. Prohlášení o problému žádá o zjištění maximálního rozdílu mezi nejvyšší frekvencí a nejnižší frekvencí dvou odlišných čísel v poli. Příklad arr [] = {1, 2, 3, ...

Dozvědět se více

Otázka 8. k-tý chybějící prvek v rostoucí sekvenci, který není v dané sekvenci přítomen Problém „k-tý chybějící prvek v rostoucí sekvenci, který není v dané sekvenci přítomen“ uvádí, že jsou vám dána dvě pole. Jeden z nich je uspořádán vzestupně a další normální netříděné pole s číslem k. Najděte kth chybějící prvek, který se v normálním případě nenachází ...

Dozvědět se více

Otázka 9. Zkontrolujte, zda dané pole obsahuje duplicitní prvky ve vzdálenosti k od sebe Problém „Zkontrolovat, zda dané pole obsahuje duplicitní prvky ve vzdálenosti k od sebe“ uvádí, že musíme zkontrolovat duplikáty v daném neuspořádaném poli v rozsahu k. Zde je hodnota k menší než dané pole. Příklady K = 3 arr [] = ...

Dozvědět se více

Otázka 10. Najděte všechny páry (a, b) v poli tak, aby a% b = k Prohlášení o problému Problém „Najít všechny páry (a, b) v poli tak, aby% b = k“ uvádí, že jste dostali pole celých čísel a celočíselnou hodnotu zvanou k. Prohlášení o problému požaduje zjistit pár takovým způsobem, že x ...

Dozvědět se více

Otázka 11. Dotazy na XOR největšího divného dělitele rozsahu Prohlášení o problému Problém „Dotazy na XOR největšího lichého dělitele rozsahu“ uvádí, že vám je dáno pole celého čísla a dotaz q, každý dotaz se skládá z rozsahu. Prohlášení o problému požaduje zjistit XOR největšího lichého dělitele v daném rozsahu ...

Dozvědět se více

Otázka 12. Třícestné dělení pole kolem daného rozsahu Prohlášení o problému Dostanete pole celých čísel a rozsah lowValue a highValue. Problém „Třídílné rozdělení pole kolem daného rozsahu“ požaduje rozdělení pole tak, aby bylo pole rozděleno na tři části. Příčky polí budou: Prvky ...

Dozvědět se více

Otázka 13. Nahraďte dvě po sobě jdoucí stejné hodnoty jednou větší Prohlášení o problému Předpokládejme, že máte celé číslo. Problém „Nahradit dvě po sobě jdoucí stejné hodnoty jednou větší“ si žádá nahradit všechny ty párové hodnoty, které říkají „a“, které přichází po sobě s číslem „a + 1“ 1 větším než oni (dvě po sobě jdoucí čísla), takže i po úpravě nebo opakování tam ...

Dozvědět se více

Otázka 14. Najděte seřazenou posloupnost velikosti 3 v lineárním čase Prohlášení o problému Problém „Najít seřazenou posloupnost velikosti 3 v lineárním čase“ uvádí, že máte celé číslo. Prohlášení o problému požaduje zjistit tři čísla takovým způsobem, že pole [i] <pole [k] <pole [k] a i <j <k. Příklad arr [] ...

Dozvědět se více

Otázka 15. Uspořádejte pole v pořadí - nejmenší, největší, 2. nejmenší, 2. největší Prohlášení o problému Předpokládejme, že máte celé číslo. Problém „Uspořádat pole v pořadí - nejmenší, největší, 2. nejmenší, 2. největší, ..“ žádá o uspořádání nového pole tak, aby nejprve bylo nejmenší číslo a potom největší číslo, pak druhé nejmenší a potom druhé ...

Dozvědět se více

Otázka 16. Počítat páry ze dvou seřazených polí, jejichž součet se rovná dané hodnotě x Prohlášení o problému „Počítat páry ze dvou seřazených polí, jejichž součet se rovná dané hodnotě x“ problém uvádí, že vám jsou dána dvě seřazená pole celých čísel a celočíselná hodnota zvaná součet. Prohlášení o problému žádá o zjištění celkového počtu párů, které činí až ...

Dozvědět se více

Otázka 17. Tisk závorek v Matrix Chain Multiplication Problem Prohlášení o problému Musíme najít pořadí násobení matic tak, aby byl minimalizován počet operací zapojených do násobení všech matic. Pak musíme tuto zakázku vytisknout, tj. Tisknout závorky v problému násobení maticového řetězce. Vezměme si, že máte 3 matice A, B, ...

Dozvědět se více

Otázka 18. Vložit Odstranit GetRandom V problému Vložit Odstranit GetRandom musíme navrhnout datovou strukturu, která podporuje všechny následující operace v průměrném čase O (1). insert (val): Vloží položku do sady, pokud již není k dispozici. remove (val): Odstraní hodnotu položky ze sady, pokud je k dispozici. getRandom: Vrátí náhodný prvek z aktuální sady ...

Dozvědět se více

Otázka 19. Zvyšování posloupnosti délky tři s maximálním produktem Prohlášení o problému V problému „Zvyšování posloupnosti délky tři s maximálním produktem“ jsme uvedli řadu kladných celých čísel. Najděte posloupnost délky 3 s maximálním produktem. Následnost by se měla zvyšovat. Vstupní formát První a jediný řádek obsahující celé číslo N označující velikost ...

Dozvědět se více

Otázka 20. Najděte maximální opakující se číslo v poli Prohlášení o problému V problému „Najít maximální opakující se číslo v poli“ jsme zadali netříděné pole velikosti N. Dané pole obsahuje čísla v rozsahu {0, k}, kde k <= N. Najděte číslo, které přichází s maximálním počtem krát v poli. Vstupní formát ...

Dozvědět se více

Otázka 21. Počet trojic se součtem menším než daná hodnota Prohlášení o problému Dali jsme pole obsahující N počet prvků. V daném poli spočítejte počet tripletů se součtem menším než je daná hodnota. Příklad Vstup a [] = {1, 2, 3, 4, 5, 6, 7, 8} Součet = 10 Výstup 7 Možné trojice jsou: ...

Dozvědět se více

Otázka 22. Najděte trojici v poli s danou sumou Prohlášení o problému Vzhledem k řadě celých čísel najděte kombinaci tří prvků v poli, jejichž součet se rovná dané hodnotě X. Zde vytiskneme první kombinaci, kterou dostaneme. Pokud taková kombinace neexistuje, vytiskněte -1. Příklad vstupu N = 5, X = 15 arr [] = ...

Dozvědět se více

Otázka 23. První opakující se prvek Prohlášení o problému Dali jsme pole, které obsahuje n celých čísel. Musíme najít první opakující se prvek v daném poli. Pokud není žádný opakující se prvek, vytiskněte „Nebylo nalezeno žádné opakující se celé číslo“. Poznámka: Opakující se prvky jsou prvky, které přicházejí více než jednou. (Pole může obsahovat duplikáty) ...

Dozvědět se více

Otázka 24. Puzzle s produktovým polem Prohlášení o problému V logickém problému s produktovým polem musíme zkonstruovat pole, kde i-tý prvek bude součinem všech prvků v daném poli, kromě prvku na i-té pozici. Příklad Vstup 5 10 3 5 6 2 Výstup 180 600 360 300 900 ...

Dozvědět se více

Otázka 25. Najděte první opakující se číslo v daném poli Prohlášení o problému V poli může být několik opakujících se čísel, ale musíte najít první opakující se číslo v daném poli (vyskytující se podruhé). Příklad vstupu 12 5 4 2 8 9 7 12 5 6 12 4 7 Výstup 5 je první opakující se prvek ...

Dozvědět se více

Řetězcové otázky Citadely

Otázka 26. Různé způsoby, jak přidat řešení Leetcode se závorkami Problémové prohlášení Různé způsoby přidávání závorek Řešení LeetCode – „Různé způsoby přidávání závorek“ uvádí, že daný řetězcový výraz čísel a operátorů. Potřebujeme vrátit všechny možné výsledky z výpočtu všech různých možných způsobů seskupování čísel a operátorů. Vraťte odpověď v libovolném pořadí. ...

Dozvědět se více

Otázka 27. Zkontrolujte, zda jsou všechny řádky matice vzájemně kruhové Prohlášení o problému V problému „Zkontrolovat, zda jsou všechny řádky matice kruhovými rotacemi navzájem“ jsme zadali char matici, napsat program a zjistit, zda jsou všechny řádky navzájem kruhovými rotacemi. Pokud jsou všechny řádky navzájem kruhové, tiskněte ...

Dozvědět se více

Otázka 28. Délka nejdelšího platného podřetězce Prohlášení o problému V části „Délka nejdelšího platného podřetězce“ jsme zadali řetězec, který obsahuje pouze úvodní a závěrečnou závorku. Napište program, který najde nejdelší platný podřetězec v závorkách. Vstupní formát První a jediný řádek obsahující řetězec s. Výstupní formát První a ...

Dozvědět se více

Otázky Citadel Tree

Otázka 29. Zkonstruujte binární strom z daných Inorder a předobjednejte Traversals V tomto problému máme pořadí a předobjednávku binárního stromu. Musíme postavit binární strom z daných přechodů Inorder a Preorder. Příklad vstupu: Inorder = [D, B, E, A, F, C] Preorder = [A, B, D, E, C, F] Výstup: Předobjednávka prochází stromem tvořeným ...

Dozvědět se více

Otázka 30. Ověřte strom binárního vyhledávání Problém Při ověřování problému s binárním vyhledávacím stromem, který jsme zadali kořen stromu, musíme zkontrolovat, zda se jedná o binární vyhledávací strom nebo ne. Příklad: Výstup: true Vysvětlení: Daný strom je binární vyhledávací strom, protože všechny prvky, které jsou ponechány každému podstromu ...

Dozvědět se více

Otázky k hromadě citadely

Otázka 31. Řešení Leetcode pro zachycení dešťové vody Prohlášení o problému Řešení LeetCode Trapping Rain Water – „Zachycování dešťové vody“ uvádí, že dané pole výšek představuje výškovou mapu, kde šířka každého sloupce je 1. Musíme najít množství vody zachycené po dešti. Příklad: Vstup: výška = [0,1,0,2,1,0,1,3,2,1,2,1] Výstup: 6 Vysvětlení: Zkontrolujte ...

Dozvědět se více

Otázky z fronty citadely

Otázka 32. Prioritní fronta využívající dvojnásobně propojený seznam Prohlášení o problému Problém „Prioritní fronta používající dvojnásobně propojený seznam“ požaduje implementovat následující funkce prioritní fronty pomocí dvojnásobně propojeného seznamu. push (x, p): Zařadit prvek x s prioritou p do fronty priorit na příslušné pozici. pop (): Odebrat a vrátit prvek s nejvyšší prioritou ...

Dozvědět se více

Otázky Citadel Matrix

Otázka 33. Tisk závorek v Matrix Chain Multiplication Problem Prohlášení o problému Musíme najít pořadí násobení matic tak, aby byl minimalizován počet operací zapojených do násobení všech matic. Pak musíme tuto zakázku vytisknout, tj. Tisknout závorky v problému násobení maticového řetězce. Vezměme si, že máte 3 matice A, B, ...

Dozvědět se více

Otázka 34. Zkontrolujte, zda jsou všechny řádky matice vzájemně kruhové Prohlášení o problému V problému „Zkontrolovat, zda jsou všechny řádky matice kruhovými rotacemi navzájem“ jsme zadali char matici, napsat program a zjistit, zda jsou všechny řádky navzájem kruhovými rotacemi. Pokud jsou všechny řádky navzájem kruhové, tiskněte ...

Dozvědět se více

Citadela Další otázky

Otázka 35. Řešení LRU Cache Leetcode Prohlášení o problému Řešení LRU Cache LeetCode – „LRU Cache“ vás žádá o návrh datové struktury, která se řídí mezipamětí nejméně nedávno použitých (LRU) Potřebujeme implementovat třídu LRUCache, která má následující funkce: LRUCache(int capacity): Inicializuje mezipaměť LRU s kladnou velikostní kapacitou. int get (klíč int): Vrátí hodnotu ...

Dozvědět se více

Otázka 36. Vyhodnoťte řešení LeetCode Reverse Polish Notation Problémové prohlášení Vyhodnoťte reverzní polskou notaci Řešení LeetCode – Vyhodnoťte hodnotu aritmetického výrazu v reverzní polské notaci. Platné operátory jsou +, -, * a /. Každý operand může být celé číslo nebo jiný výraz. Všimněte si, že dělení mezi dvěma celými čísly by se mělo zkrátit směrem k nule. Je zaručeno, že daný...

Dozvědět se více

Otázka 37. Řešení LeetCode úložiště klíč-hodnota založené na čase Prohlášení problému Časově založené úložiště klíč-hodnota Řešení LeetCode – Navrhněte časovou datovou strukturu klíč-hodnota, která může ukládat více hodnot pro stejný klíč v různých časových razítkách a načítat hodnotu klíče v určitém časovém razítku. Implementujte třídu TimeMap: TimeMap() Inicializuje objekt datové struktury. void set (řetězcový klíč, řetězec ...

Dozvědět se více

Otázka 38. Najděte medián z Data Stream řešení LeetCode Prohlášení o problému Najít medián z datového toku Řešení LeetCode – Medián je střední hodnota v seznamu uspořádaných celých čísel. Pokud je velikost seznamu sudá, neexistuje žádná střední hodnota a medián je průměr dvou středních hodnot. Například pro arr = [2,3,4] je medián ...

Dozvědět se více

Otázka 39. Řešení srážky asteroidů LeetCode Prohlášení o problému Kolize asteroidů LeetCode Řešení – Dostali jsme pole asteroidů celých čísel představujících asteroidy v řadě. Pro každý asteroid představuje absolutní hodnota jeho velikost a znaménko jeho směr (kladný význam vpravo, záporný význam vlevo). Každý asteroid se pohybuje stejnou rychlostí. Zjistěte stav...

Dozvědět se více

Otázka 40. Serializujte a deserializujte binární strom řešení LeetCode Prohlášení o problému Serializovat a deserializovat binární strom Řešení LeetCode – Serializace je proces převodu datové struktury nebo objektu na sekvenci bitů tak, aby mohly být uloženy v souboru nebo vyrovnávací paměti nebo přenášeny prostřednictvím síťového připojení, aby mohly být později rekonstruovány. v ...

Dozvědět se více

Otázka 41. Produkt Array Except Self LeetCode Solution Problémové prohlášení Součin pole Kromě Self LeetCode Řešení – Vzhledem k celočíselnému poli nums vraťte odpověď pole tak, že odpověď[i] je rovna součinu všech prvků nums kromě nums[i]. Součin jakékoli předpony nebo přípony čísel se zaručeně vejde do 32bitového celého čísla. Musíte napsat algoritmus, který běží v čase O(n) a bez použití dělení ...

Dozvědět se více

Otázka 42. K. nejmenší prvek v řešení BST Leetcode Problémové prohlášení K-tý nejmenší prvek v řešení BST Leetcode – Daný kořen binárního vyhledávacího stromu a celé číslo k vrátí k-tou nejmenší hodnotu (indexovanou 1) ze všech hodnot uzlů ve stromu. Příklady: Vstup: root = [3,1,4,null,2], k = 1 Výstup: 1 Vstup: root = [5,3,6,2,4,null,null,1], k ...

Dozvědět se více

Otázka 43. Ošklivé číslo II řešení LeetCode Problém Statement Ugly Number II LeetCode Solution – Ošklivé číslo je kladné celé číslo, jehož prvočísla jsou omezena na 2, 3 a 5. Vzhledem k celému číslu n vrátí n-té ošklivé číslo. Vstup: n = 10 Výstup: 12 Vysvětlení: [1, 2, 3, 4, 5, 6, 8, 9, 10, 12] je posloupnost prvních 10 ...

Dozvědět se více

Otázka 44. Řešení Integer Break LeetCode Příkaz problému Integer Break LeetCode Řešení – Je-li dané celé číslo n, rozdělte ho na součet k kladných celých čísel, kde k >= 2, a maximalizujte součin těchto celých čísel. Potřebujeme vrátit maximum produktů, které můžeme získat. Vstup: n = 2 Výstup: 1 Vysvětlení: 2 = 1 + 1, ...

Dozvědět se více

Otázka 45. Maximální součin tří čísel Řešení LeetCode Problémové prohlášení Maximální součin tří čísel Řešení LeetCode – Dostali jsme pole, otázka nás žádá, abychom vypočítali maximální součin libovolných 3 čísel. Příklady Příklad 1: Vstup: nums = [1,2,3] Výstup: 6 Příklad 2: Vstup: nums = [1,2,3,4] Výstup: 24 Příklad 3: Vstup: nums = ...

Dozvědět se více

Otázka 46. Řešení Word Ladder LeetCode Prohlášení o problému The Word Ladder LeetCode Solution – „Word Ladder“ uvádí, že dostanete řetězec beginWord, řetězec endWord a wordList. Potřebujeme najít nejkratší délku transformační sekvence (pokud neexistuje žádná cesta, vytiskněte 0) od beginWord do endWord za daných podmínek: Všechna mezilehlá slova by měla ...

Dozvědět se více

Otázka 47. Nejlepší čas na nákup a prodej skladového řešení LeetCode Prohlášení o problému Nejlepší čas na nákup a prodej akcií Řešení LeetCode – „Nejlepší čas na nákup a prodej akcií“ uvádí, že máte k dispozici řadu cen, kde ceny[i] jsou cenou dané akcie v itý den. Chcete maximalizovat svůj zisk výběrem...

Dozvědět se více

Otázka 48. Vytiskněte si podmínky Newman-Conway Sequence Prohlášení o problému Problém „Vytisknout n podmínek Newman-Conwayovy sekvence“ uvádí, že jste dostali celé číslo „n“. Najděte prvních n výrazů Newman-Conway Sequence a poté je vytiskněte. Příklad n = 6 1 1 2 2 3 4 Vysvětlení Všechny pojmy, které jsou vytištěny, se řídí sekvencí Newman-Conway ...

Dozvědět se více

Otázka 49. Maximum posuvného okna V maximálním problému s posuvným oknem jsme zadali čísla polí, pro každé souvislé okno o velikosti k najděte maximální prvek v okně. Příklad Vstupní čísla [] = {1,3, -1, -3,5,3,6,7} k = 3 Výstup {3,3,5,5,6,7} Vysvětlení Naivní přístup pro posuvné okno Maximum pro každé souvislé okno o velikosti k, procházet ...

Dozvědět se více

Otázka 50. Implementace mezipaměti LRU Nejméně nedávno použitá mezipaměť (LRU) je typ metody, která se používá k udržování dat tak, aby byl čas potřebný k použití dat minimální. Algoritmus LRU použitý, když je mezipaměť plná. Odebereme nejméně nedávno použitá data z mezipaměti paměti ...

Dozvědět se více

Otázka 51. Serializovat a deserializovat binární strom Dali jsme binární strom obsahující N počet uzlů, kde každý uzel má nějakou hodnotu. Musíme binární strom serializovat a deserializovat. Serializovat Proces ukládání stromu do souboru bez narušení jeho struktury se nazývá serializace. DeserializeSerialize and Deserialize Binary Tree The process ...

Dozvědět se více

Translate »