Dostanete celé číslo n představující počet domů na číselné ose, očíslované od 0 do n - 1.
Navíc vám je dáno 2D celočíselné pole nabídek, kde offers[i] = [start_i, end_i, gold_i], což znamená, že i^th kupující chce koupit všechny domy od start_i do end_i za gold_i množství zlata.
Jako prodejce je vaším cílem maximalizovat své výdělky strategickým výběrem a prodejem domů kupujícím.
Vraťte maximální množství zlaťáků, které můžete získat.
Všimněte si, že různí kupující si nemohou koupit stejný dům a některé domy mohou zůstat neprodané.

Příklad 1:

Vstup: n = 5, offers = [[0,0,1],[0,2,2],[1,3,2]]
Výstup: 3
Vysvětlení: K dispozici je 5 domů očíslovaných od 0 do 4 a jsou zde 3 nabídky ke koupi.
Prodáváme domy v rozmezí [0,0] až 1. kupující za 1 zlato a domy v rozmezí [1,3] až 3. kupující za 2 zlato.
Lze dokázat, že 3 je maximální množství zlata, kterého můžeme dosáhnout.

Příklad 2:

Vstup: n = 5, offers = [[0,0,1],[0,2,10],[1,3,2]]
Výstup: 10
Vysvětlení: K dispozici je 5 domů očíslovaných od 0 do 4 a jsou zde 3 nabídky ke koupi.
Prodáváme domy v rozmezí [0,2] až 2. kupujícího za 10 zlatých.
Lze dokázat, že 10 je maximální množství zlata, kterého můžeme dosáhnout.

Omezení:

1 <= n <= 10^5
1 <= offers.length <= 10^5
offers[i].length == 3
0 <= start_i <= end_i <= n - 1
1 <= gold_i <= 10^3

Dostanete celé číslo n představující počet domů na číselné ose, číslované od 0 do n - 1.
navíc dostanete 2D pole celých čísel nabídek, kde nabídky[i] = [start_i, end_i, gold_i], což znamená, že i^tý kupující chce koupit všechny domy od start_i do end_i za gold_i množství zlata.
Jako obchodník je vaším cílem maximalizovat své výdělky strategickým výběrem a prodejem domů kupujícím.
Vraťte maximální množství zlata, které můžete vydělat.
Všimněte si, že různí kupující nemohou koupit stejný dům a některé domy mohou zůstat neprodané.

Příklad 1:

Vstup: n = 5, nabídky = [[0,0,1],[0,2,2],[1,3,2]]
Výstup: 3
Vysvětlení: Existuje 5 domů očíslovaných od 0 do 4 a jsou zde 3 nabídky ke koupi.
Prodáváme domy v rozmezí [0,0] prvnímu kupujícímu za 1 zlatý a domy v rozmezí [1,3] třetímu kupujícímu za 2 zlaté.
Dá se prokázat, že 3 je maximální množství zlata, kterého můžeme dosáhnout.

Příklad 2:

Vstup: n = 5, nabídky = [[0,0,1],[0,2,10],[1,3,2]]
Výstup: 10
Vysvětlení: Existuje 5 domů očíslovaných od 0 do 4 a jsou zde 3 nabídky ke koupi.
Prodáváme domy v rozmezí [0,2] druhému kupujícímu za 10 zlatých.
Dá se prokázat, že 10 je maximální množství zlata, kterého můžeme dosáhnout.

Omezení:

1 <= n <= 10^5
1 <= délka nabídek <= 10^5
nabízí[i].length == 3
0 <= začátek_i <= konec_i <= n - 1
1 <= gold_i <= 10^3

Je vám dán celočíselný údaj n reprezentující počet domů na číselné ose, očíslovaných od 0 do n - 1.
Dále je vám dáno 2D pole nabídek, kde offers[i] = [start_i, end_i, gold_i], což naznačuje, že i-tý kupující chce koupit všechny domy od start_i do end_i za gold_i množství zlata.
Jako obchodník je vaším cílem maximalizovat své zisky strategickým výběrem a prodejem domů kupujícím.
Vraťte maximální množství zlata, které můžete získat.
Upozorňujeme, že různí kupující nemohou koupit stejný dům a některé domy mohou zůstat neprodané.

Příklad 1:

Vstup: n = 5, offers = [[0,0,1],[0,2,2],[1,3,2]]
Výstup: 3
Vysvětlení: Je zde 5 domů očíslovaných od 0 do 4 a jsou zde 3 nabídky na koupi.
Prodáme domy v rozsahu [0,0] 1. kupujícímu za 1 zlato a domy v rozsahu [1,3] 3. kupujícímu za 2 zlata.
Lze dokázat, že 3 je maximální množství zlata, které můžeme dosáhnout.

Příklad 2:

Vstup: n = 5, offers = [[0,0,1],[0,2,10],[1,3,2]]
Výstup: 10
Vysvětlení: Je zde 5 domů očíslovaných od 0 do 4 a jsou zde 3 nabídky na koupi.
Prodáme domy v rozsahu [0,2] 2. kupujícímu za 10 zlat.
Lze dokázat, že 10 je maximální množství zlata, které můžeme dosáhnout.

Omezení:

1 <= n <= 10^5
1 <= offers.length <= 10^5
offers[i].length == 3
0 <= start_i <= end_i <= n - 1
1 <= gold_i <= 10^3


Jsou dána dvě celá kladná čísla low a high.
Celé číslo x složené z 2 * n číslic je symetrické, jestliže součet prvních n číslic x je roven součtu posledních n číslic x. Čísla s lichým počtem číslic nejsou nikdy symetrická.
Vraťte počet symetrických celých čísel v rozsahu [nízká, vysoká].

Příklad 1:

Vstup: low = 1, high = 100
Výstup: 9
Vysvětlení: Existuje 9 symetrických celých čísel mezi 1 a 100: 11, 22, 33, 44, 55, 66, 77, 88 a 99.

Příklad 2:

Vstup: low = 1200, high = 1230
Výstup: 4
Vysvětlení: Mezi 1200 a 1230 jsou 4 symetrická celá čísla: 1203, 1212, 1221 a 1230.

Omezení:

1 <= low <= high <= 10^4

Jsou vám dána dvě kladná celá čísla – nízká a vysoká.
Celé číslo x sestávající z 2 * n číslic je symetrické, pokud součet prvních n číslic x je roven součtu posledních n číslic x. Čísla s lichým počtem číslic nejsou nikdy symetrická.
Vrátí počet symetrických celých čísel v rozsahu [nízká, vysoká].

Příklad 1:

Vstup: nízká = 1, vysoká = 100
Výstup: 9
Vysvětlení: Existuje 9 symetrických celých čísel mezi 1 a 100: 11, 22, 33, 44, 55, 66, 77, 88 a 99.

Příklad 2:

Vstup: nízký = 1200, vysoký = 1230
Výstup: 4
Vysvětlení: Mezi 1200 a 1230 existují 4 symetrická celá čísla: 1203, 1212, 1221 a 1230.

Omezení:

1 <= nízká <= vysoká <= 10^4


Jsou vám dány dva řetězce s1 a s2, oba o délce 4, které se skládají z malých anglických písmen.
Následující operaci můžete použít na kterýkoli ze dvou řetězců libovolněkrát:

Zvolte libovolné dva indexy i a j takové, že j - i = 2, pak prohodte dva znaky na těchto indexech v řetězci.

Vrátí true, pokud můžete řetězce s1 a s2 nastavit stejné, a false v opačném případě.

Příklad 1:

Vstup: s1 = "abcd", s2 = "cdab"
Výstup: true
Vysvětlení: Na s1 můžeme provést následující operace:
- Volba indexů i = 0, j = 2. Výsledný řetězec je s1 = "cbad".
- Vyberte indexy i = 1, j = 3. Výsledný řetězec je s1 = "cdab" = s2.

Příklad 2:

Vstup: s1 = "abcd", s2 = "dacb"
Výstup: false
Vysvětlení: Není možné, aby se tyto dva řetězce staly rovnými.

Omezení:

s1.length == s2.length == 4
S1 a s2 se skládají pouze z malých anglických písmen.

Dostanete dva řetězce s1 a s2, oba o délce 4, sestávající z malých anglických písmen.
Následující operaci můžete na kterýkoli ze dvou řetězců použít libovolný počet opakování:

Vyberte libovolné dva indexy ia j takové, že j - i = 2, pak prohoďte dva znaky na těchto indexech v řetězci.

Vraťte true, pokud dokážete srovnat řetězce s1 a s2, a v opačném případě false.

Příklad 1:

Vstup: s1 = "abcd", s2 = "cdab"
Výstup: pravda
Vysvětlení: Na s1 můžeme provádět následující operace:
- Zvolte indexy i = 0, j = 2. Výsledný řetězec je s1 = "cbad".
- Zvolte indexy i = 1, j = 3. Výsledný řetězec je s1 = "cdab" = s2.

Příklad 2:

Vstup: s1 = "abcd", s2 = "dacb"
Výstup: nepravda
Vysvětlení: Není možné, aby byly dva řetězce stejné.

Omezení:

s1.length == s2.length == 4
s1 a s2 se skládají pouze z malých anglických písmen.

Dostanete dva řetězce s1 a s2, oba o délce 4, sestávající z malých anglických písmen.
Následující operaci můžete na kterýkoli ze dvou řetězců použít libovolný počet opakování:

Vyberte libovolné dva indexy ia j takové, že j - i = 2, pak prohoďte dva znaky na těchto indexech v řetězci.

Vraťte hodnotu true, pokud dokážete srovnat řetězce s1 a s2, a v opačném případě false.

Příklad 1:

Vstup: s1 = "abcd", s2 = "cdab"
Výstup: pravda
Vysvětlení: Na s1 můžeme provádět následující operace:
- Zvolte indexy i = 0, j = 2. Výsledný řetězec je s1 = "cbad".
- Zvolte indexy i = 1, j = 3. Výsledný řetězec je s1 = "cdab" = s2.

Příklad 2:

Vstup: s1 = "abcd", s2 = "dacb"
Výstup: nepravda
Vysvětlení: Není možné, aby byly dva řetězce stejné.

Omezení:

s1.length == s2.length == 4
s1 a s2 se skládají pouze z malých anglických písmen.


Je dáno pole celých čísel nums s indexem 0 a celé číslo x.
Najděte minimální absolutní rozdíl mezi dvěma prvky pole, které jsou od sebe vzdáleny alespoň x indexů.
Jinými slovy, najděte dva takové indexy i a j, že abs(i - j) >= x a abs(nums[i] - nums[j]) je minimální.
Vrátí celé číslo označující minimální absolutní rozdíl mezi dvěma prvky, které jsou od sebe vzdáleny alespoň x indexů.

Příklad 1:

Vstup: nums = [4,3,2,4], x = 2
Výstup: 0
Vysvětlení: Můžeme vybrat nums[0] = 4 a nums[3] = 4.
Jsou od sebe vzdáleny alespoň 2 indexy a jejich absolutní rozdíl je minimální, 0.
Lze prokázat, že 0 je optimální odpověď.

Příklad 2:

Vstup: nums = [5,3,2,10,15], x = 1
Výstup: 1
Vysvětlení: Můžeme vybrat nums[1] = 3 a nums[2] = 2.
Jsou od sebe vzdáleny alespoň o 1 index a jejich absolutní rozdíl je minimální, tedy 1.
Lze prokázat, že 1 je optimální odpověď.

Příklad 3:

Vstup: nums = [1,2,3,4], x = 3
Výstup: 3
Vysvětlení: Můžeme vybrat nums[0] = 1 a nums[3] = 4.
Jsou od sebe vzdáleny alespoň 3 indexy a jejich absolutní rozdíl je minimální, tedy 3.
Lze prokázat, že 3 je optimální odpověď.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
0 <= x <= nums.length

Dostanete celé pole s indexem 0, nums a celé číslo x.
Najde minimální absolutní rozdíl mezi dvěma prvky v poli, které jsou od sebe vzdáleny alespoň x indexů.
Jinými slovy, najděte dva indexy i a j takové, že abs(i - j) >= x a abs(nums[i] - nums[j]) je minimalizováno.
Vrátí celé číslo označující minimální absolutní rozdíl mezi dvěma prvky, které jsou od sebe vzdáleny alespoň x indexů.

Příklad 1:

Vstup: nums = [4,3,2,4], x = 2
Výstup: 0
Vysvětlení: Můžeme vybrat nums[0] = 4 a nums[3] = 4.
Jsou od sebe vzdáleny nejméně 2 indexy a jejich absolutní rozdíl je minimální, 0.
Lze ukázat, že 0 je optimální odpověď.

Příklad 2:

Vstup: nums = [5,3,2,10,15], x = 1
Výstup: 1
Vysvětlení: Můžeme vybrat nums[1] = 3 a nums[2] = 2.
Jsou od sebe vzdáleny alespoň 1 index a jejich absolutní rozdíl je minimální, 1.
Lze ukázat, že 1 je optimální odpověď.

Příklad 3:

Vstup: nums = [1,2,3,4], x = 3
Výstup: 3
Vysvětlení: Můžeme vybrat nums[0] = 1 a nums[3] = 4.
Jsou od sebe vzdáleny nejméně 3 indexy a jejich absolutní rozdíl je minimální, 3.
Lze ukázat, že 3 je optimální odpověď.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
0 <= x < nums.length

Dostanete 0-indexované celočíselné pole nums a celé číslo x.
Najděte minimální absolutní rozdíl mezi dvěma prvky v poli, které jsou od sebe vzdáleny alespoň x indexů.
Jinými slovy, najděte dva indexy i a j takové, aby abs(i - j) >= x a abs(nums[i] - nums[j]) byly minimalizovány.
Vrátí celé číslo označující minimální absolutní rozdíl mezi dvěma prvky, které jsou od sebe vzdáleny alespoň x indexů.

Příklad 1:

Vstup: nums = [4,3,2,4], x = 2
Výstup: 0
Vysvětlení: Můžeme vybrat nums[0] = 4 a nums[3] = 4.
Jsou od sebe alespoň 2 indexy a jejich absolutní rozdíl je minimální, 0.
Lze ukázat, že 0 je optimální odpověď.

Příklad 2:

Vstup: nums = [5,3,2,10,15], x = 1
Výstup: 1
Vysvětlení: Můžeme vybrat nums[1] = 3 a nums[2] = 2.
Jsou od sebe alespoň 1 index a jejich absolutní rozdíl je minimální, 1.
Lze ukázat, že 1 je optimální odpověď.

Příklad 3:

Vstup: nums = [1,2,3,4], x = 3
Výstup: 3
Vysvětlení: Můžeme vybrat nums[0] = 1 a nums[3] = 4.
Jsou od sebe alespoň 3 indexy a jejich absolutní rozdíl je minimální, 3.
Lze ukázat, že 3 je optimální odpověď.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
0 <= x < počet.length


Jsou zadána celá kladná čísla low, high a k.
Číslo je krásné, pokud splňuje obě následující podmínky:

Počet sudých číslic v čísle je roven počtu lichých číslic.
Číslo je dělitelné číslem k.

Vraťte počet krásných celých čísel v oboru [low, high].

Příklad 1:

Vstup: nízké = 10, vysoké = 20, k = 3
Výstup: 2
Vysvětlení: V daném rozsahu jsou 2 krásná celá čísla: [12,18].
- Číslo 12 je krásné, protože obsahuje 1 lichou a 1 sudou číslici a je dělitelné k = 3.
- 18 je krásné, protože obsahuje 1 lichou a 1 sudou číslici a je dělitelné k = 3.
Dále vidíme, že:
- 16 není krásné, protože není dělitelné k = 3.
- 15 není krásná, protože neobsahuje stejný počet sudých a lichých číslic.
Lze ukázat, že v daném oboru jsou pouze 2 krásná celá čísla.

Příklad 2:

Vstup: nízká = 1, vysoká = 10, k = 1
Výstup: 1
Vysvětlení: V daném rozsahu je 1 krásné celé číslo: [10].
- Číslo 10 je krásné, protože obsahuje 1 lichou a 1 sudou číslici a je dělitelné k = 1.
Lze dokázat, že v daném oboru je pouze 1 krásné celé číslo.

Příklad 3:

Vstup: nízká = 5, vysoká = 5, k = 2
Výstup: 0
Vysvětlení: V daném rozsahu je 0 krásných celých čísel.
- Číslo 5 není krásné, protože není dělitelné číslem k = 2 a neobsahuje stejné sudé a liché číslice.

Omezení:

0 < nízká <= vysoká <= 10^9
0 < k <= 20

Jsou vám dána kladná celá čísla low, high a k.
Číslo je krásné, pokud splňuje obě následující podmínky:

Počet sudých číslic v čísle se rovná počtu lichých číslic.
Číslo je dělitelné k.

Vrátí počet krásných celých čísel v rozsahu [low, high].

Příklad 1:

Vstup: low = 10, high = 20, k = 3
Výstup: 2
Vysvětlení: V daném rozsahu jsou 2 krásná celá čísla: [12,18].
- 12 je krásné, protože obsahuje 1 lichou číslici a 1 sudou číslici a je dělitelné k = 3.
- 18 je krásné, protože obsahuje 1 lichou číslici a 1 sudou číslici a je dělitelné k = 3.
Navíc vidíme, že:
- 16 není krásné, protože není dělitelné k = 3.
- 15 není krásné, protože neobsahuje stejné počty sudých a lichých číslic.
Lze si ukázat, že v daném rozsahu jsou pouze 2 krásná celá čísla.

Příklad 2:

Vstup: low = 1, high = 10, k = 1
Výstup: 1
Vysvětlení: V daném rozsahu je 1 krásné celé číslo: [10].
- 10 je krásné, protože obsahuje 1 lichou číslici a 1 sudou číslici a je dělitelné k = 1.
Lze si ukázat, že v daném rozsahu je pouze 1 krásné celé číslo.

Příklad 3:

Vstup: low = 5, high = 5, k = 2
Výstup: 0
Vysvětlení: V daném rozsahu je 0 krásných celých čísel.
- 5 není krásné, protože není dělitelné k = 2 a neobsahuje stejné sudé a liché číslice.

Omezení:

0 < low <= high <= 10^9
0 < k <= 20

Jsou vám dána kladná celá čísla nízká, vysoká a k.
Číslo je krásné, pokud splňuje obě následující podmínky:

Počet sudých číslic v čísle se rovná počtu lichých číslic.
Číslo je dělitelné k.

Vraťte počet krásných celých čísel v rozsahu [nízká, vysoká].

Příklad 1:

Vstup: nízká = 10, vysoká = 20, k = 3
Výstup: 2
Vysvětlení: V daném rozsahu jsou 2 krásná celá čísla: [12,18].
- 12 je krásné, protože obsahuje 1 lichou a 1 sudou číslici a je dělitelné k = 3.
- 18 je krásné, protože obsahuje 1 lichou a 1 sudou číslici a je dělitelné k = 3.
Navíc můžeme vidět, že:
- 16 není krásné, protože není dělitelné k = 3.
- 15 není krásné, protože neobsahuje stejný počet sudých a lichých číslic.
Lze ukázat, že v daném rozsahu jsou pouze 2 krásná celá čísla.

Příklad 2:

Vstup: nízká = 1, vysoká = 10, k = 1
Výstup: 1
Vysvětlení: V daném rozsahu je 1 krásné celé číslo: [10].
- 10 je krásné, protože obsahuje 1 lichou a 1 sudou číslici a je dělitelné k = 1.
Lze ukázat, že v daném rozsahu je pouze 1 krásné celé číslo.

Příklad 3:

Vstup: nízká = 5, vysoká = 5, k = 2
Výstup: 0
Vysvětlení: V daném rozsahu je 0 krásných celých čísel.
- 5 není krásné, protože není dělitelné k = 2 a neobsahuje stejné sudé a liché číslice.

Omezení:

0 < nízká <= vysoká <= 10^9
0 < k <= 20


Máte dány dva řetězce s indexováním od 0, str1 a str2.
V rámci operace vyberete sadu indexů v str1 a pro každý index i v sadě zvýšíte str1[i] na následující znak cyklicky. To znamená, že 'a' se změní na 'b', 'b' na 'c' atd., a 'z' se změní na 'a'.
Vraťte true, pokud je možné vytvořit str2 jako subsekvenci str1 provedením operace nejvýše jednou, jinak vraťte false.
Poznámka: Subsekevence řetězce je nový řetězec, který vznikne z původního řetězce odstraněním některých (případně žádných) znaků, aniž by byla narušena relativní pozice zbývajících znaků.

Příklad 1:

Vstup: str1 = "abc", str2 = "ad"
Výstup: true
Vysvětlení: Vyberte index 2 v str1.
Zvyšte str1[2] na 'd'.
Str1 se tedy změní na "abd" a str2 je nyní subsekvence. Proto se vrací true.

Příklad 2:

Vstup: str1 = "zc", str2 = "ad"
Výstup: true
Vysvětlení: Vyberte indexy 0 a 1 v str1.
Zvyšte str1[0] na 'a'.
Zvyšte str1[1] na 'd'.
Str1 se tedy změní na "ad" a str2 je nyní subsekvence. Proto se vrací true.

Příklad 3:

Vstup: str1 = "ab", str2 = "d"
Výstup: false
Vysvětlení: V tomto příkladě lze ukázat, že není možné vytvořit str2 jako subsekvenci str1 pomocí operace nejvýše jednou.
Proto se vrací false.

Omezení:

1 <= str1.length <= 10^5
1 <= str2.length <= 10^5
str1 a str2 sestávají pouze z malých písmen anglické abecedy.

Máte dvě 0-indexované řetězce str1 a str2.
Při jedné operaci vyberete sadu indexů v str1 a pro každý index
𝑖
i v této sadě zvýšíte hodnotu znaku str1[i] na následující znak cyklicky. To znamená, že 'a' se změní na 'b', 'b' na 'c' atd., přičemž 'z' se změní zpět na 'a'.
Vraťte hodnotu true, pokud je možné udělat z str2 podřetězec str1 provedením této operace maximálně jednou, a false v opačném případě.
Poznámka: Podřetězec řetězce je nový řetězec vytvořený z původního řetězce odstraněním některých (případně žádných) znaků bez narušení relativního pořadí zbývajících znaků.

Příklad 1:
Vstup: str1 = "abc", str2 = "ad"
Výstup: true
Vysvětlení: Vyberte index 2 v str1.
Zvýšíte hodnotu str1[2], aby se změnila na 'd'.
Tím se str1 změní na "abd" a str2 je nyní podřetězec. Proto se vrací true.

Příklad 2:
Vstup: str1 = "zc", str2 = "ad"
Výstup: true
Vysvětlení: Vyberte indexy 0 a 1 v str1.
Zvýšíte hodnotu str1[0], aby se změnila na 'a'.
Zvýšíte hodnotu str1[1], aby se změnila na 'd'.
Tím se str1 změní na "ad" a str2 je nyní podřetězec. Proto se vrací true.

Příklad 3:
Vstup: str1 = "ab", str2 = "d"
Výstup: false
Vysvětlení: V tomto příkladu lze ukázat, že není možné vytvořit z str2 podřetězec str1 pomocí této operace maximálně jednou.
Proto se vrací false.

Omezení:

1 <= str1.length <= 10^5
1 <= str2.length <= 10^5
str1 a str2 sestávají pouze z malých písmen anglické abecedy.

Jsou vám dány dva 0-indexované řetězce str1 a str2.
V operaci vyberete sadu indexů v str1 a pro každý index i v sadě cyklicky inkrementujete str1[i] na další znak. To znamená, že „a“ se změní na „b“, „b“ se změní na „c“ a tak dále a „z“ se změní na „a“.
Vraťte true, pokud je možné vytvořit z str2 podsekvenci str1 provedením operace maximálně jednou, a v opačném případě false.
Poznámka: Podsekvence řetězce je nový řetězec, který je vytvořen z původního řetězce smazáním některých (případně žádných) znaků, aniž by došlo k narušení vzájemné pozice zbývajících znaků.

Příklad 1:

Vstup: str1 = "abc", str2 = "ad"
Výstup: pravda
Vysvětlení: Vyberte index 2 v str1.
Zvyšte str1[2] na 'd'.
Str1 se tedy změní na "abd" a str2 je nyní podsekvence. Proto je vrácena hodnota true.
Příklad 2:

Vstup: str1 = "zc", str2 = "ad"
Výstup: pravda
Vysvětlení: Vyberte indexy 0 a 1 v str1.
Zvyšte str1[0] na 'a'.
Zvyšte str1[1] na 'd'.
Str1 se tedy změní na „ad“ a str2 je nyní podsekvence. Proto je vrácena hodnota true.
Příklad 3:

Vstup: str1 = "ab", str2 = "d"
Výstup: nepravda
Vysvětlení: V tomto příkladu lze ukázat, že je nemožné vytvořit z str2 podsekvenci str1 pomocí operace maximálně jednou.
Proto je vrácena hodnota false.

Omezení:

1 <= str1.length <= 10^5
1 <= str2.length <= 10^5
str1 a str2 se skládají pouze z malých anglických písmen.


Je vám dán řetězec moves délky n, který obsahuje pouze znaky 'L', 'R' a '_'. Řetězec představuje váš pohyb na číselné ose začínající od počátku 0.
Při i-tém pohybu si můžete vybrat jeden z následujících směrů:

posun doleva, pokud moves[i] = 'L' nebo moves[i] = '_'
posun doprava, pokud moves[i] = 'R' nebo moves[i] = '_'

Vraťte vzdálenost od počátku nejvzdálenějšího bodu, ke kterému se můžete dostat po n pohybech.

Příklad 1:

Vstup: moves = "L_RL__R"
Výstup: 3
Vysvětlení: Nejvzdálenější bod, kterého můžeme dosáhnout z počátku 0, je bod -3 prostřednictvím následující sekvence pohybů "LLRLLLR".

Příklad 2:

Vstup: moves = "_R__LL_"
Výstup: 5
Vysvětlení: Nejvzdálenější bod, kterého můžeme dosáhnout z počátku 0, je bod -5 prostřednictvím následující sekvence pohybů "LRLLLLL".

Příklad 3:

Vstup: moves = "_______"
Výstup: 7
Vysvětlení: Nejvzdálenější bod, kterého můžeme dosáhnout z počátku 0, je bod 7 prostřednictvím následující sekvence pohybů "RRRRRRR".

Omezení:

1 <= moves.length == n <= 50
moves obsahuje pouze znaky 'L', 'R' a '_'.

Dostanete tahy řetězce délky n sestávající pouze ze znaků 'L', 'R' a '_'. Řetězec představuje váš pohyb na číselné ose začínající od počátku 0.
V i^tém tahu si můžete vybrat jeden z následujících směrů:

posunout se doleva, pokud tahy[i] = 'L' nebo tahy[i] = '_'
posunout se doprava, pokud se tahy[i] = 'R' nebo se tahy[i] = '_'

Vraťte vzdálenost od počátku nejvzdálenějšího bodu, kam se můžete dostat po n tahech.

Příklad 1:

Vstup: tahy = "L_RL__R"
Výstup: 3
Vysvětlení: Nejvzdálenější bod, kterého můžeme dosáhnout od počátku 0, je bod -3 pomocí následující sekvence tahů "LLRLLLR".

Příklad 2:

Vstup: tahy = "_R__LL_"
Výstup: 5
Vysvětlení: Nejvzdálenější bod, kterého můžeme dosáhnout od počátku 0, je bod -5 pomocí následující sekvence tahů "LRLLLLL".

Příklad 3:

Vstup: tahy = "_______"
Výstup: 7
Vysvětlení: Nejvzdálenější bod, kterého se můžeme dostat od počátku 0, je bod 7 pomocí následující sekvence tahů "RRRRRRR".

Omezení:

1 <= tahy.length == n <= 50
tahy se skládají pouze ze znaků 'L', 'R' a '_'.

Je vám dán řetězec moves délky n, který obsahuje pouze znaky 'L', 'R' a '_'. Řetězec představuje váš pohyb na číselné ose začínající od počátku 0.
Při i-tý pohybu si můžete vybrat jeden z následujících směrů:

posun doleva, pokud moves[i] = 'L' nebo moves[i] = '_'
posun doprava, pokud moves[i] = 'R' nebo moves[i] = '_'

Vraťte vzdálenost od počátku nejvzdálenějšího bodu, ke kterému se můžete dostat po n pohybech.

Příklad 1:

Vstup: moves = "L_RL__R"
Výstup: 3
Vysvětlení: Nejvzdálenější bod, kterého můžeme dosáhnout z počátku 0, je bod -3 prostřednictvím následující sekvence pohybů "LLRLLLR".

Příklad 2:

Vstup: moves = "R__LL"
Výstup: 5
Vysvětlení: Nejvzdálenější bod, kterého můžeme dosáhnout z počátku 0, je bod -5 prostřednictvím následující sekvence pohybů "LRLLLLL".

Příklad 3:

Vstup: moves = "_______"
Výstup: 7
Vysvětlení: Nejvzdálenější bod, kterého můžeme dosáhnout z počátku 0, je bod 7 prostřednictvím následující sekvence pohybů "RRRRRRR".

Omezení:

1 <= moves.length == n <= 50
moves obsahuje pouze znaky 'L', 'R' a '_'.


Jsou dány dva řetězce s a t stejné délky n. S řetězcem s můžete provést následující operaci:

Odstraňte příponu řetězce s délky l, kde 0 < l < n, a připojte ji na začátek řetězce s.
	Například nechť s = 'abcd', pak můžete jednou operací odstranit příponu 'cd' a připojit ji před s, takže s = 'cdab'.

Dále je zadáno celé číslo k. Vraťte počet způsobů, kterými lze s převést na t přesně k operacemi.
Protože odpověď může být velká, vraťte ji modulo 10^9 + 7.

Příklad 1:

Vstup: s = „abcd“, t = „cdab“, k = 2
Výstup: 2
Vysvětlení:
První způsob:
Při první operaci zvolíme příponu z indexu = 3, takže výsledné s = „dabc“.
Při druhé operaci zvolte příponu z indexu = 3, takže výsledné s = „cdab“.

Druhý způsob:
V první operaci zvolte příponu z indexu = 1, takže výsledné s = „bcda“.
Při druhé operaci zvolte příponu z indexu = 1, takže výsledné s = „cdab“.

Příklad 2:

Vstup: s = „ababab“, t = „ababab“, k = 1
Výstup: 2
Vysvětlení:
První způsob:
Zvolte příponu z indexu = 2, takže výsledné s = „ababab“.

Druhý způsob:
Druhý způsob: Zvolte příponu z indexu = 4, takže výsledné s = „ababab“.

Omezení:

2 <= s.length <= 5 * 10^5
1 <= k <= 10^15
s.length == t.length
s a t se skládají pouze z malých písmen anglické abecedy.

Jsou vám dány dva řetězce sat o stejné délce n. S řetězcem s můžete provést následující operaci:

Odstraňte příponu s délky l, kde 0 < l < n a přidejte ji na začátek s.
  Nechte například s = 'abcd', pak v jedné operaci můžete odstranit příponu 'cd' a přidat ji před s, čímž vznikne s = 'cdab'.

Dostanete také celé číslo k. Vraťte počet způsobů, kterými lze s transformovat na t přesně k operacím.
Protože odpověď může být velká, vraťte ji modulo 10^9 + 7.

Příklad 1:

Vstup: s = "abcd", t = "cdab", k = 2
Výstup: 2
Vysvětlení:
První způsob:
V první operaci zvolte příponu z indexu = 3, takže výsledné s = "dabc".
V druhé operaci zvolte příponu z index = 3, takže výsledné s = "cdab".

Druhý způsob:
V první operaci zvolte příponu z index = 1, takže výsledné s = "bcda".
V druhé operaci zvolte příponu z index = 1, takže výsledné s = "cdab".

Příklad 2:

Vstup: s = "ababab", t = "ababab", k = 1
Výstup: 2
Vysvětlení:
První způsob:
Vyberte příponu z indexu = 2, takže výsledné s = "ababab".

Druhý způsob:
Vyberte příponu z indexu = 4, takže výsledné s = "ababab".

Omezení:

2 <= s.length <= 5 * 10^5
1 <= k <= 10^15
s.length == t.length
s a t se skládají pouze z malých anglických abeced.

Jsou dány dva řetězce s a t stejné délky n. S řetězcem s můžete provést následující operaci:

Odstraňte sufix řetězce s délky l, kde 0 < l < n, a připojte jej na začátek řetězce s.
	Například nechť s = 'abcd', pak můžete jednou operací odstranit sufix 'cd' a připojit jej před s, takže s = 'cdab'.

Dále je zadáno celé číslo k. Vraťte počet způsobů, kterými lze s převést na t přesně k operacemi.
Protože odpověď může být rozsáhlá, vraťte ji modulo 10^9 + 7.

Příklad 1:

Vstup: s = „abcd“, t = „cdab“, k = 2
Výstup: 2
Vysvětlení:
První způsob:
Při první operaci zvolíme sufix z indexu = 3, takže výsledné s = "dabc".
Při druhé operaci zvolte sufix z indexu = 3, takže výsledné s = "cdab".

Druhý způsob:
V první operaci zvolte sufix z indexu = 1, takže výsledné s = "bcda".
Při druhé operaci zvolte sufix z indexu = 1, takže výsledné s = "cdab".

Příklad 2:

Vstup: s = „ababab“, t = „ababab“, k = 1
Výstup: 2
Vysvětlení:
První způsob:
Zvolte sufix z indexu = 2, takže výsledné s = "ababab".

Druhý způsob:
Druhý způsob: Zvolte sufix z indexu = 4, takže výsledné s = "ababab".

Omezení:

2 <= s.length <= 5 * 10^5
1 <= k <= 10^15
s.length == t.length
s a t se skládají pouze z malých písmen anglické abecedy.


Dostanete pole s indexováním od nuly `nums`, které se skládá z nezáporných mocnin 2, a celé číslo `target`.
V jedné operaci musíte provést následující změny v poli:

Vyberte libovolný prvek pole `nums[i]` tak, že `nums[i] > 1`.
Odstraňte `nums[i]` z pole.
Přidejte dvě výskyty `nums[i] / 2` na konec `nums`.

Vraťte minimální počet operací, které musíte provést, aby `nums` obsahovalo podposloupnost, jejíž prvky sečtou na `target`. Pokud není možné takovou podposloupnost získat, vraťte -1.
Podposloupnost je pole, které lze odvodit z jiného pole odstraněním některých nebo žádných prvků bez změny pořadí zbývajících prvků.

Příklad 1:

Vstup: nums = [1,2,8], target = 7
Výstup: 1
Vysvětlení: V první operaci vybereme prvek `nums[2]`. Pole se stává rovné `nums = [1,2,4,4]`.
V této fázi `nums` obsahuje podposloupnost [1,2,4], která sečte na 7.
Lze ukázat, že neexistuje kratší posloupnost operací, která vede k podposloupnosti, která sečte na 7.

Příklad 2:

Vstup: nums = [1,32,1,2], target = 12
Výstup: 2
Vysvětlení: V první operaci vybereme prvek `nums[1]`. Pole se stává rovné `nums = [1,1,2,16,16]`.
Ve druhé operaci vybereme prvek `nums[3]`. Pole se stává rovné `nums = [1,1,2,16,8,8]`.
V této fázi `nums` obsahuje podposloupnost [1,1,2,8], která sečte na 12.
Lze ukázat, že neexistuje kratší posloupnost operací, která vede k podposloupnosti, která sečte na 12.

Příklad 3:

Vstup: nums = [1,32,1], target = 35
Výstup: -1
Vysvětlení: Lze ukázat, že žádná posloupnost operací nevede k podposloupnosti, která sečte na 35.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 2^30
`nums` se skládá pouze z nezáporných mocnin dvou.
1 <= target < 2^31

Je zadáno pole nums s indexem 0, které se skládá z nezáporných mocnin čísla 2, a celočíselný cíl.
Během jedné operace musíte na pole aplikovat následující změny:

Vyberte libovolný prvek pole nums[i] tak, aby nums[i] > 1.
Odstraňte z pole nums[i].
Přidejte dva výskyty nums[i] / 2 na konec nums.

Vraťte minimální počet operací, které je třeba provést, aby nums obsahovalo posloupnost, jejíž prvky mají součet rovný cíli. Pokud takovou podřetězec nelze získat, vraťte -1.
Podřetězec je pole, které lze odvodit z jiného pole odstraněním některých nebo žádných prvků, aniž by se změnilo pořadí zbývajících prvků.

Příklad 1:

Vstup: nums = [1,2,8], target = 7
Výstup: 1
Vysvětlení: V první operaci vybereme prvek nums[2]. Pole bude mít hodnotu nums = [1,2,4,4].
V této fázi obsahuje nums podřetězec [1,2,4], jehož součet je 7.
Lze ukázat, že neexistuje kratší posloupnost operací, která by vedla k podposloupnosti, jejíž součet by byl 7.

Příklad 2:

Vstup: nums = [1,32,1,2], cíl = 12
Výstup: 2
Vysvětlení: V první operaci vybereme prvek nums[1]. Pole bude mít hodnotu nums = [1,1,2,16,16].
Při druhé operaci vybereme prvek nums[3]. Pole bude mít hodnotu nums = [1,1,2,16,8,8].
V této fázi nums obsahuje posloupnost [1,1,2,8], jejíž součet je 12.
Lze ukázat, že neexistuje kratší posloupnost operací, která by vedla k posloupnosti, jejíž součet by byl 12.
Příklad 3:

Vstup: nums = [1,32,1], cíl = 35
Výstup: -1
Vysvětlení: Lze ukázat, že žádná posloupnost operací nevede k posloupnosti, jejíž součet by byl 35.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 2^30
nums se skládá pouze z nezáporných mocnin dvou.
1 <= cíl < 2^31

Dostanete nulové indexované číslo pole skládající se z nezáporných mocnin 2 a cíle celého čísla.
V jedné operaci musíte na pole použít následující změny:

Vyberte libovolný prvek pole nums[i] tak, aby nums[i] > 1.
Odeberte nums[i] z pole.
Přidejte dva výskyty nums[i] / 2 na konec nums.

Vrátí minimální počet operací, které musíte provést, aby nums obsahoval podsekvenci, jejíž prvky se sčítají do cíle. Pokud není možné získat takovou podsekvenci, vraťte -1.
Podsekvence je pole, které lze odvodit z jiného pole odstraněním některých nebo žádných prvků, aniž by se změnilo pořadí zbývajících prvků.

Příklad 1:

Vstup: nums = [1,2,8], cíl = 7
Výstup: 1
Vysvětlení: V první operaci zvolíme element nums[2]. Pole se rovná nums = [1,2,4,4].
V této fázi obsahuje nums podsekvenci [1,2,4], která čítá až 7.
Lze ukázat, že neexistuje kratší posloupnost operací, které by vedly k dílčí posloupnosti, která čítá až 7.

Příklad 2:

Vstup: nums = [1,32,1,2], cíl = 12
Výstup: 2
Vysvětlení: V první operaci zvolíme element nums[1]. Pole se rovná nums = [1,1,2,16,16].
Ve druhé operaci zvolíme element nums[3]. Pole se rovná nums = [1,1,2,16,8,8]
V této fázi obsahuje nums podsekvenci [1,1,2,8], která čítá až 12.
Lze ukázat, že neexistuje kratší posloupnost operací, která by vedla k podsekvenci, která by tvořila 12.
Příklad 3:

Vstup: nums = [1,32,1], cíl = 35
Výstup: -1
Vysvětlení: Lze ukázat, že žádná posloupnost operací nevede k dílčí posloupnosti, která má v součtu 35.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 2^30
nums se skládá pouze z nezáporných mocnin dvou.
1 <= cíl < 2^31


Vzhledem k 0-indexované 2D celočíselné matici mřížky o velikosti n * m definujeme 0-indexovanou 2D matici p o velikosti n * m jako matici součinu mřížky, pokud je splněna následující podmínka:

Každý prvek p[i][j] se vypočítá jako součin všech prvků v mřížce kromě prvku grid[i][j]. Tento produkt je poté převzat modulo 12345.

Vraťte matici součinu mřížky.

Příklad 1:

Vstup: grid = [[1,2],[3,4]]
Výstup: [[24,12],[8,6]]
Vysvětlení: p[0][0] = grid[0][1] * grid[1][0] * grid[1][1] = 2 * 3 * 4 = 24
p[0][1] = grid[0][0] * grid[1][0] * grid[1][1] = 1 * 3 * 4 = 12
p[1][0] =  grid[0][0] * grid[0][1] * grid[1][1] = 1 * 2 * 4 = 8
p[1][1] = grid[0][0] * grid[0][1] * grid[1][0] = 1 * 2 * 3 = 6
Takže odpověď je [[24,12],[8,6]].
Příklad 2:

Vstup: grid = [[12345],[2],[1]]
Výstup: [[2],[0],[0]]
Vysvětlení: p[0][0] = grid[0][1] * grid[0][2] = 2 * 1 = 2.
p[0][1] = grid[0][0] * grid[0][2] = 12345 * 1 = 12345. 12345 % 12345 = 0. Takže p[0][1] = 0.
p[0][2] = grid[0][0] * grid[0][1] = 12345 * 2 = 24690. 24690 % 12345 = 0. Takže p[0][2] = 0.
Takže odpověď je [[2],[0],[0]].

Omezení:

1 <= n ==  grid.length <= 10^5
1 <= m == grid[i].length <= 10^5
2 <= n * m <= 10^5
1 <=grid[i][j] <= 10^9

Je-li dána celočíselná 2D matice s indexem 0 o velikosti n * m, definujeme 2D matici s indexem 0 p o velikosti n * m jako součinovou matici mřížky, pokud je splněna následující podmínka:

Každý prvek p[i][j] se vypočítá jako součin všech prvků mřížky kromě prvku grid[i][j]. Tento součin se pak vezme modulo 12345.

Vraťte matici součinu mřížky.

Příklad 1:

Vstup: grid = [[1,2],[3,4]]
Výstup: [[24,12],[8,6]]
Vysvětlení: p[0][0] = grid[0][1] * grid[1][0] * grid[1][1] = 2 * 3 * 4 = 24
p[0][1] = grid[0][0] * grid[1][0] * grid[1][1] = 1 * 3 * 4 = 12
p[1][0] = grid[0][0] * grid[0][1] * grid[1][1] = 1 * 2 * 4 = 8
p[1][1] = grid[0][0] * grid[0][1] * grid[1][0] = 1 * 2 * 3 = 6
Odpověď je tedy [[24,12],[8,6]].
Příklad 2:

Vstup: grid = [[12345],[2],[1]]
Výstup: [[2],[0],[0]]
Vysvětlení: p[0][0] = grid[0][1] * grid[0][2] = 2 * 1 = 2.
p[0][1] = grid[0][0] * grid[0][2] = 12345 * 1 = 12345. 12345 % 12345 = 0. Takže p[0][1] = 0.
p[0][2] = grid[0][0] * grid[0][1] = 12345 * 2 = 24690. 24690 % 12345 = 0. Takže p[0][2] = 0.
Odpověď je tedy [[2],[0],[0]].

Omezení:

1 <= n == grid.length <= 10^5
1 <= m == grid[i].length <= 10^5
2 <= n * m <= 10^5
1 <= grid[i][j] <= 10^9

Vzhledem k 0-indexované 2D celočíselné matici mřížky o velikosti n * m definujeme 0-indexovanou 2D matici p o velikosti n * m jako matici součinu mřížky, pokud je splněna následující podmínka:

Každý prvek p[i][j] se vypočítá jako součin všech prvků v mřížce kromě prvku grid[i][j]. Tento produkt je poté převzat modulo 12345.

Vraťte matici součinu mřížky.

Příklad 1:

Vstup: mřížka = [[1,2],[3,4]]
Výstup: [[24,12],[8,6]]
Vysvětlení: p[0][0] = mřížka[0][1] * mřížka[1][0] * mřížka[1][1] = 2 * 3 * 4 = 24
p[0][1] = mřížka[0][0] * mřížka[1][0] * mřížka[1][1] = 1 * 3 * 4 = 12
p[1][0] = mřížka[0][0] * mřížka[0][1] * mřížka[1][1] = 1 * 2 * 4 = 8
p[1][1] = mřížka[0][0] * mřížka[0][1] * mřížka[1][0] = 1 * 2 * 3 = 6
Takže odpověď je [[24,12],[8,6]].
Příklad 2:

Vstup: mřížka = [[12345],[2],[1]]
Výstup: [[2],[0],[0]]
Vysvětlení: p[0][0] = mřížka[0][1] * mřížka[0][2] = 2 * 1 = 2.
p[0][1] = mřížka[0][0] * mřížka[0][2] = 12345 * 1 = 12345. 12345 % 12345 = 0. Takže p[0][1] = 0.
p[0][2] = mřížka[0][0] * mřížka[0][1] = 12345 * 2 = 24690. 24690 % 12345 = 0. Takže p[0][2] = 0.
Takže odpověď je [[2],[0],[0]].

Omezení:

1 <= n == mřížka.length <= 10^5
1 <= m == mřížka[i].length <= 10^5
2 <= n * m <= 10^5
1 <= mřížka[i][j] <= 10^9


Je vám dáno 0-indexované celočíselné pole příjemce o délce n a celočíselném čísle k.
Existuje n hráčů s jedinečným ID v rozsahu [0, n - 1], kteří budou hrát hru s přihrávkou míče, a příjemce[i] je ID hráče, který přijímá přihrávky od hráče s id i. Hráči mohou přihrávat sami sobě, tj. receiver[i] se může rovnat i.
Musíte si vybrat jednoho z n hráčů jako začínajícího hráče pro hru a míč bude předán přesně k-krát, počínaje vybraným hráčem.
Pro vybraného začínajícího hráče s id x definujeme funkci f(x), která označuje součet x a id všech hráčů, kteří obdrží míč během k přihrávek, včetně opakování. Jinými slovy, f(x) = x + receiver[x] + receiver[receiver[x]] + ... + receiver^(k)[x].
Vaším úkolem je vybrat začínajícího hráče, který má id x, které maximalizuje hodnotu f(x).
Vrátí celé číslo označující maximální hodnotu funkce.
Poznámka: přijímač může obsahovat duplikáty.

Příklad 1:

Pass Number
Sender ID
Receiver ID
x + Receiver IDs

2

1
2
1
3

2
1
0
3

3
0
2
5

4
2
1
6

Vstup: receiver = [2,0,1], k = 4
Výstup: 6
Vysvětlení: Výše uvedená tabulka ukazuje simulaci hry začínající hráčem, který má id x = 2.
Z tabulky vyplývá, že f(2) se rovná 6.
Lze ukázat, že 6 je maximální dosažitelná hodnota funkce.
Výstup je tedy 6.

Příklad 2:

Pass Number
Sender ID
Receiver ID
x + Receiver IDs

4

1
4
3
7

2
3
2
9

3
2
1
10

Vstup: receiver = [1,1,1,2,3], k = 3
Výstup: 10
Vysvětlení: Výše uvedená tabulka ukazuje simulaci hry začínající hráčem, který má id x = 4.
Z tabulky vyplývá, že f(4) se rovná 10.
Lze ukázat, že 10 je maximální dosažitelná hodnota funkce.
Výstup je tedy 10.

Omezení:

1 <= receiver.length == n <= 10^5
0 <= receiver[i] <= n - 1
1 <= k <= 10^10

Dostanete pole indexované od nuly přijímači celočíselného pole délky n a celé číslo k.
Existuje n hráčů s jedinečným id v rozsahu [0, n - 1], kteří budou hrát hru s přihrávkou míče, a receiver[i] je id hráče, který přijímá přihrávky od hráče s id i. Hráči mohou přihrávat sami sobě, tj. receiver[i] se může rovnat i.
Musíte vybrat jednoho z n hráčů jako začínajícího hráče, a míč bude předáván přesně kkrát od vybraného hráče.
Pro vybraného začínajícího hráče s id x definujeme funkci f(x), která označuje součet x a id všech hráčů, kteří obdrží míč během k přihrávek, včetně opakování. Jinými slovy, f(x) = x + přijímač[x] + přijímači[přijímači[x]] + ... + přijímači^(k)[x].
Vaším úkolem je vybrat začínajícího hráče s id x, který maximalizuje hodnotu f(x).
Vrátí celé číslo, které představuje maximální hodnotu funkce.
Poznámka: Pole přijímačů může obsahovat duplikáty.

Příklad 1:

Číslo předání
ID odesílatele
ID přijímač
x + ID přijímači

2

1
2
1
3

2
1
0
3

3
0
2
5

4
2
1
6

Vstup: přijímači = [2,0,1], k = 4
Výstup: 6
Vysvětlení: Výše uvedená tabulka ukazuje simulaci hry začínající hráčem s id x = 2.
Z tabulky se f(2) rovná 6.
Lze ukázat, že 6 je maximální dosažitelná hodnota funkce.
Výstup je tedy 6.

Příklad 2:

Číslo předání
ID odesílatele
ID přijímač
x + ID přijímači

4

1
4
3
7

2
3
2
9

3
2
1
10

Vstup: přijímač = [1,1,1,2,3], k = 3
Výstup: 10
Vysvětlení: Výše uvedená tabulka ukazuje simulaci hry začínající hráčem s id x = 4.
Z tabulky se f(4) rovná 10.
Lze ukázat, že 10 je maximální dosažitelná hodnota funkce.
Výstup je tedy 10.

Omezení:

1 <= přijímač.length == n <= 10^5
0 <= přijímač[i] <= n - 1
1 <= k <= 10^10

Dostanete 0-indexované pole celých čísel délky n a celé číslo k.
Existuje n hráčů s jedinečným ID v rozsahu [0, n - 1], kteří budou hrát hru s přihrávkou míče, a receiver[i] je id hráče, který přijímá přihrávky od hráče s id i. Hráči mohou přihrávat sami sobě, tj. receiver[i] se může rovnat i.
Musíte vybrat jednoho z n hráčů jako začínajícího hráče hry, a míč bude přihrán přesně kkrát od vybraného hráče.
Pro vybraného začínajícího hráče s id x definujeme funkci f(x), která označuje součet x a id všech hráčů, kteří obdrží míč během k přihrávek, včetně opakování. Jinými slovy, f(x) = x + přijímači[x] + přijímači[přijímači[x]] + ... + přijímači^(k)[x].
Vaším úkolem je vybrat začínajícího hráče s id x, který maximalizuje hodnotu f(x).
Vrátí celé číslo označující maximální hodnotu funkce.
Poznámka: přijímači může obsahovat duplikáty.

Příklad 1:

Číslo přihrávky
ID odesílatele
ID přijímače
x + ID přijímače

2

1
2
1
3

2
1
0
3

3
0
2
5

4
2
1
6

Vstup: přijímači = [2,0,1], k = 4
Výstup: 6
Vysvětlení: Výše uvedená tabulka ukazuje simulaci hry začínající hráčem s id x = 2.
Z tabulky se f(2) rovná 6.
Lze ukázat, že 6 je maximální dosažitelná hodnota funkce.
Výstup je tedy 6.

Příklad 2:

x + ID přijímačie
ID odesílatele
ID přijímačie
x + ID přijímačie

4

1
4
3
7

2
3
2
9

3
2
1
10

Vstup: přijímači = [1,1,1,2,3], k = 3
Výstup: 10
Vysvětlení: Výše uvedená tabulka ukazuje simulaci hry začínající hráčem s id x = 4.
Z tabulky se f(4) rovná 10.
Lze ukázat, že 10 je maximální dosažitelná hodnota funkce.
Výstup je tedy 10.

Omezení:

1 <= receiver.length == n <= 10^5
0 <= receiver[i] <= n - 1
1 <= k <= 10^10


Máte dány dva binární řetězce s nulovým indexováním, s1 a s2, oba délky n, a kladné celé číslo x.
Na řetězci s1 můžete provést libovolný počet následujících operací:

Vyberte dva indexy i a j a překlopte oba s1[i] a s1[j]. Náklady této operace jsou x.
Vyberte index i tak, že i < n - 1 a překlopte oba s1[i] a s1[i + 1]. Náklady této operace jsou 1.

Vrátí minimální náklady potřebné k tomu, aby se řetězce s1 a s2 rovnaly, nebo vrátí -1, pokud to není možné.
Všimněte si, že překlápění znaku znamená změnu z 0 na 1 nebo naopak.

Příklad 1:

Vstup: s1 = "1100011000", s2 = "0101001010", x = 2
Výstup: 4
Vysvětlení: Můžeme provést následující operace:
- Vyberte i = 3 a aplikujte druhou operaci. Výsledný řetězec je s1 = "1101111000".
- Vyberte i = 4 a aplikujte druhou operaci. Výsledný řetězec je s1 = "1101001000".
- Vyberte i = 0 a j = 8 a aplikujte první operaci. Výsledný řetězec je s1 = "0101001010" = s2.
Celkové náklady jsou 1 + 1 + 2 = 4. Lze ukázat, že je to minimální možná cena.

Příklad 2:

Vstup: s1 = "10110", s2 = "00011", x = 4
Výstup: -1
Vysvětlení: Není možné, aby se oba řetězce rovnaly.

Omezení:

n == s1.length == s2.length
1 <= n, x <= 500
s1 a s2 obsahují pouze znaky '0' a '1'.

Dostanete dva binární řetězce s indexem 0 s1 a s2, oba o délce n a kladném celém čísle x.
Libovolnou z následujících operací můžete s řetězcem s1 provést libovolný počet opakování:

Vyberte dva indexy i a j a otočte oba s1[i] a s1[j]. Cena této operace je x.
Zvolte index i takový, že i < n - 1 a překlopte s1[i] i s1[i + 1]. Cena této operace je 1.

Vraťte minimální cenu potřebnou k tomu, aby se řetězce s1 a s2 rovnaly, nebo vraťte -1, pokud to není možné.
Všimněte si, že převrácení znaku znamená jeho změnu z 0 na 1 nebo naopak.

Příklad 1:

Vstup: s1 = "1100011000", s2 = "0101001010", x = 2
Výstup: 4
Vysvětlení: Můžeme provádět následující operace:
- Zvolte i = 3 a použijte druhou operaci. Výsledný řetězec je s1 = "1101111000".
- Zvolte i = 4 a použijte druhou operaci. Výsledný řetězec je s1 = "1101001000".
- Zvolte i = 0 a j = 8 a použijte první operaci. Výsledný řetězec je s1 = "0101001010" = s2.
Celkové náklady jsou 1 + 1 + 2 = 4. Lze ukázat, že se jedná o minimální možné náklady.

Příklad 2:

Vstup: s1 = "10110", s2 = "00011", x = 4
Výstup: -1
Vysvětlení: Není možné, aby byly dva řetězce stejné.

Omezení:

n == s1.length == s2.length
1 <= n, x <= 500
s1 a s2 se skládají pouze ze znaků '0' a '1'.

Dostanete dva binární řetězce s indexem 0 s1 a s2, oba o délce n a kladném celém čísle x.
Libovolnou z následujících operací můžete s řetězcem s1 provést libovolný počet opakování:

Vyberte dva indexy i a j a otočte oba s1[i] a s1[j]. Cena této operace je x.
Zvolte index i takový, že i < n - 1 a překlopte s1[i] i s1[i + 1]. Cena této operace je 1.

Vraťte minimální cenu potřebnou k tomu, aby se řetězce s1 a s2 rovnaly, nebo vraťte -1, pokud to není možné.
Všimněte si, že převrácení znaku znamená jeho změnu z 0 na 1 nebo naopak.

Příklad 1:

Vstup: s1 = "1100011000", s2 = "0101001010", x = 2
Výstup: 4
Vysvětlení: Můžeme provádět následující operace:
- Zvolte i = 3 a použijte druhou operaci. Výsledný řetězec je s1 = "1101111000".
- Zvolte i = 4 a použijte druhou operaci. Výsledný řetězec je s1 = "1101001000".
- Zvolte i = 0 a j = 8 a použijte první operaci. Výsledný řetězec je s1 = "0101001010" = s2.
Celkové náklady jsou 1 + 1 + 2 = 4. Lze ukázat, že se jedná o minimální možné náklady.

Příklad 2:

Vstup: s1 = "10110", s2 = "00011", x = 4
Výstup: -1
Vysvětlení: Není možné, aby byly dva řetězce stejné.

Omezení:

n == s1.length== s2.length
1 <= n, x <= 500
s1 a s2 se skládají pouze ze znaků '0' a '1'.


Dostanete dvourozměrné pole celých čísel `nums`, které představuje souřadnice aut zaparkovaných na číselné ose. Pro každý index `i`, `nums[i] = [start_i, end_i]`, kde `start_i` je počáteční bod `i`-tého auta a `end_i` je koncový bod `i`-tého auta.
Vraťte počet celých bodů na ose, které jsou pokryty jakoukoliv částí auta.

Příklad 1:

Vstup: nums = [[3,6],[1,5],[4,7]]
Výstup: 7
Vysvětlení: Všechny body od 1 do 7 protínají alespoň jedno auto, proto by odpověď byla 7.

Příklad 2:

Vstup: nums = [[1,3],[5,8]]
Výstup: 7
Vysvětlení: Body protínající alespoň jedno auto jsou 1, 2, 3, 5, 6, 7, 8. Celkem je 7 bodů, proto by odpověď byla 7.

Omezení:

1 <= nums.length <= 100
nums[i].length == 2
1 <= start_i <= end_i <= 100

Je vám dáno dvourozměrné celé pole nums reprezentující souřadnice aut parkujících na číselné ose. Pro jakýkoli index i platí nums[i] = [start_i, end_i], kde start_i je počáteční bod i-tého auta a end_i je koncový bod i-tého auta.
Vraťte počet celých bodů na čáře, které jsou pokryty jakoukoli částí auta.

Příklad 1:

Vstup: nums = [[3,6],[1,5],[4,7]]
Výstup: 7
Vysvětlení: Všechny body od 1 do 7 protínají alespoň jedno auto, proto by odpověď byla 7.

Příklad 2:

Vstup: nums = [[1,3],[5,8]]
Výstup: 7
Vysvětlení: Body protínající alespoň jedno auto jsou 1, 2, 3, 5, 6, 7, 8. Celkem je 7 bodů, proto by odpověď byla 7.

Omezení:

1 <= nums.length <= 100
nums[i].length == 2
1 <= start_i <= end_i <= 100

Je zadáno 2D pole celých čísel s indexem 0, které představuje souřadnice aut stojících na číselné řadě. Pro libovolný index i je nums[i] = [start_i, end_i], kde start_i je počáteční bod i^tého auta a end_i je koncový bod i^tého auta.
Vrátí počet celočíselných bodů na přímce, které jsou pokryty libovolnou částí vozu.

Příklad 1:

Vstup: nums = [[3,6],[1,5],[4,7]]
Výstup: 7
Vysvětlení: Všechny body od 1 do 7 se protínají alespoň s jedním autem, proto je odpovědí 7.

Příklad 2:

Vstup: nums = [[1,3],[5,8]].
Výstup: 7
Vysvětlení: Body, které se protínají alespoň s jedním autem, jsou 1, 2, 3, 5, 6, 7, 8. Celkem je 7 bodů, proto by odpověď byla 7.

Omezení:

1 <= nums.length <= 100
nums[i].length == 2
1 <= start_i <= end_i <= 100


Dostanete pole `nums` obsahující kladná celá čísla a celé číslo `k`.
V jednom kroku můžete odstranit poslední prvek pole a přidat ho do své sbírky.
Vraťte minimální počet operací potřebných k sebrání prvků 1, 2, ..., k.

Příklad 1

Vstup: `nums = [3,1,5,4,2], k = 2`
Výstup: 4
Vysvětlení: Po 4 operacích sebereme prvky 2, 4, 5 a 1 v tomto pořadí. Naše sbírka obsahuje prvky 1 a 2. Proto je odpověď 4.

Příklad 2:

Vstup: `nums = [3,1,5,4,2], k = 5`
Výstup: 5
Vysvětlení: Po 5 operacích sebereme prvky 2, 4, 5, 1 a 3 v tomto pořadí. Naše sbírka obsahuje prvky 1 až 5. Proto je odpověď 5.

Příklad 3:

Vstup: `nums = [3,2,5,3,1], k = 3`
Výstup: 4
Vysvětlení: Po 4 operacích sebereme prvky 1, 3, 5 a 2 v tomto pořadí. Naše sbírka obsahuje prvky 1 až 3. Proto je odpověď 4.

Podmínky:

1 <= délka nums <= 50
1 <= nums[i] <= délka nums
1 <= k <= délka nums
Vstup je generován tak, že můžete sbírat prvky 1, 2, ..., k.

Dostanete pole čísel kladných celých čísel a celé číslo k.
V jedné operaci můžete odstranit poslední prvek pole a přidat jej do své kolekce.
Vraťte minimální počet operací potřebných ke shromáždění prvků 1, 2, ..., k.

Příklad 1:

Vstup: nums = [3,1,5,4,2], k = 2
Výstup: 4
Vysvětlení: Po 4 operacích shromáždíme prvky 2, 4, 5 a 1 v tomto pořadí. Naše kolekce obsahuje prvky 1 a 2. Odpověď je tedy 4.

Příklad 2:

Vstup: nums = [3,1,5,4,2], k = 5
Výstup: 5
Vysvětlení: Po 5 operacích shromáždíme prvky 2, 4, 5, 1 a 3 v tomto pořadí. Naše kolekce obsahuje prvky 1 až 5. Odpověď je tedy 5.

Příklad 3:

Vstup: nums = [3,2,5,3,1], k = 3
Výstup: 4
Vysvětlení: Po 4 operacích shromáždíme prvky 1, 3, 5 a 2 v tomto pořadí. Naše kolekce obsahuje prvky 1 až 3. Odpověď je tedy 4.

Omezení:

1 <= nums.length <= 50
1 <= nums[i] <= nums.length
1 <= k <= počet.length
Vstup je generován tak, že můžete sbírat prvky 1, 2, ..., k.

Je zadáno pole nums kladných celých čísel a celé číslo k.
Jednou operací můžete odebrat poslední prvek pole a přidat jej do kolekce.
Vraťte minimální počet operací potřebných ke shromáždění prvků 1, 2, ..., k.

Příklad 1:

Vstup: nums = [3,1,5,4,2], k = 2
Výstup: 4
Vysvětlení: Po čtyřech operacích shromáždíme prvky 2, 4, 5 a 1 v tomto pořadí. Naše kolekce obsahuje prvky 1 a 2. Odpověď je tedy 4.

Příklad 2:

Vstup: nums = [3,1,5,4,2], k = 5
Výstup: 5
Vysvětlení: Po 5 operacích shromáždíme prvky 2, 4, 5, 1 a 3 v tomto pořadí. Naše kolekce obsahuje prvky 1 až 5. Odpověď je tedy 5.

Příklad 3:

Vstup: nums = [3,2,5,3,1], k = 3
Výstup: 4
Vysvětlení: Po 4 operacích shromáždíme prvky 1, 3, 5 a 2 v tomto pořadí. Naše kolekce obsahuje prvky 1 až 3. Odpověď je tedy 4.

Omezení:

1 <= nums.length <= 50
1 <= nums[i] <= nums.length
1 <= k <= nums.length
Vstup je vygenerován tak, že lze shromáždit prvky 1, 2, ..., k.


Dostanete nulové indexované pole nums délky n obsahující odlišná kladná celá čísla. Vraťte minimální počet posunů doprava potřebný k seřazení pole a -1, pokud to není možné.
Posun doprava je definován jako posunutí prvku na indexu i na index (i + 1) % n pro všechny indexy.

Příklad 1:

Vstup: nums = [3,4,5,1,2]
Výstup: 2
Vysvětlení:
Po prvním posunutí doprava nums = [2,3,4,5,1].
Po druhém posunutí doprava nums = [1,2,3,4,5].
Nyní je seřazeno nums; takže odpověď je 2.

Příklad 2:

Vstup: nums = [1,3,5]
Výstup: 0
Vysvětlení: nums je již seřazeno, takže odpověď je 0.
Příklad 3:

Vstup: nums = [2,1,4]
Výstup: -1
Vysvětlení: Není možné seřadit pole pomocí pravých posunů.

Omezení:

1 <= nums.length <= 100
1 <= nums[i] <= 100
nums obsahuje různá celá čísla.

Dostanete nulové indexované pole numers délky n obsahující odlišná kladná celá čísla. Pokud to není možné, vraťte minimální počet posunů doprava potřebný k seřazení čísel a -1.
Posun doprava je definován jako posunutí prvku na indexu i na index (i + 1) % n pro všechny indexy.

Příklad 1:

Vstup: nums = [3,4,5,1,2]
Výstup: 2
Vysvětlení:
Po prvním posunutí doprava nums = [2,3,4,5,1].
Po druhém posunutí doprava nums = [1,2,3,4,5].
Nyní je seřazeno nums; takže odpověď je 2.

Příklad 2:

Vstup: nums = [1,3,5]
Výstup: 0
Vysvětlení: nums je již seřazeno, takže odpověď je 0.
Příklad 3:

Vstup: nums = [2,1,4]
Výstup: -1
Vysvětlení: Není možné seřadit pole pomocí pravých posunů.

Omezení:

1 <= nums.length <= 100
1 <= nums[i] <= 100
nums obsahuje různá celá čísla.

Je vám dáno pole s indexem 0 o délce n obsahující různá kladná celá nums. Vrátí minimální počet posunů doprava potřebný k seřazení nums a -1, pokud to není možné.
Posun doprava je definován jako posunutí prvku v indexu i do indexu (i + 1) % n, pro všechny indexy.

Příklad 1:

Vstup: nums = [3,4,5,1,2]
Výstup: 2
Vysvětlení:
Po prvním posunu doprava jsou nums = [2,3,4,5,1].
Po druhém posunu doprava jsou nums = [1,2,3,4,5].
Nyní jsou nums seřazena; Odpověď je tedy 2.

Příklad 2:

Vstup: nums = [1,3,5]
Výstup: 0
Vysvětlení: nums jsou již seřazena, takže odpověď je 0.
Příklad 3:

Vstup: nums = [2,1,4]
Výstup: -1
Vysvětlení: Je nemožné seřadit pole pomocí posunů doprava.

Omezení:

1 <= nums.length <= 100
1 <= nums[i] <= 100
nums obsahuje odlišná celá čísla.


Máte dáno 0-indexovaný řetězec num představující nezáporné celé číslo.
V jedné operaci můžete vybrat libovolnou číslici z num a smazat ji. Všimněte si, že pokud smažete všechny číslice z num, num se stane 0.
Vraťte minimální počet operací potřebných, aby se num stal speciálním.
Celé číslo x je považováno za speciální, pokud je dělitelné 25.

Příklad 1:

Vstup: num = "2245047"
Výstup: 2
Vysvětlení: Smažte číslice num[5] a num[6]. Výsledné číslo je "22450", které je speciální, protože je dělitelné 25.
Lze ukázat, že 2 je minimální počet operací potřebných k získání speciálního čísla.
Příklad 2:

Vstup: num = "2908305"
Výstup: 3
Vysvětlení: Smažte číslice num[3], num[4] a num[6]. Výsledné číslo je "2900", které je speciální, protože je dělitelné 25.
Lze ukázat, že 3 je minimální počet operací potřebných k získání speciálního čísla.
Příklad 3:

Vstup: num = "10"
Výstup: 1
Vysvětlení: Smažte číslici num[0]. Výsledné číslo je "0", které je speciální, protože je dělitelné 25.
Lze ukázat, že 1 je minimální počet operací potřebných k získání speciálního čísla.

Omezení:

1 <= num.length <= 100
num se skládá pouze z číslic '0' až '9'.
num neobsahuje žádné úvodní nuly.

Dostanete 0-indexovaný řetězec num představující nezáporné celé číslo.
V jedné operaci můžete vybrat libovolnou číslici num a smazat ji. Všimněte si, že pokud vymažete všechny číslice num, num se stane 0.
Vrátí minimální počet operací potřebných k tomu, aby bylo num speciální.
Celé číslo x je považováno za speciální, pokud je dělitelné 25.

Příklad 1:

Vstup: num = "2245047"
Výstup: 2
Vysvětlení: Vymažte číslice num[5] a num[6]. Výsledné číslo je „22450“, což je zvláštní, protože je dělitelné 25.
Lze ukázat, že 2 je minimální počet operací potřebných k získání speciálního čísla.
Příklad 2:

Vstup: num = "2908305"
Výstup: 3
Vysvětlení: Odstraňte číslice num[3], num[4] a num[6]. Výsledné číslo je "2900", což je zvláštní, protože je dělitelné 25.
Lze ukázat, že 3 je minimální počet operací potřebných k získání speciálního čísla.
Příklad 3:

Vstup: num = "10"
Výstup: 1
Vysvětlení: Smažte číslici num[0]. Výsledné číslo je "0", což je zvláštní, protože je dělitelné 25.
Lze ukázat, že 1 je minimální počet operací potřebných k získání speciálního čísla.

Omezení:

1 <= počet.length <= 100
num se skládá pouze z číslic '0' až '9'.
num neobsahuje žádné úvodní nuly.


Máte 1-indexované pole nums n celých čísel.
Množina čísel je kompletní, pokud je součin každého páru jejích prvků dokonalým čtvercem.
Pro podmnožinu množiny indexů {1, 2, ..., n} reprezentovanou jako {i_1, i_2, ..., i_k}, definujeme její sumu prvků jako: nums[i_1] + nums[i_2] + ... + nums[i_k].
Vrátíme maximální sumu prvků kompletní podmnožiny množiny indexů {1, 2, ..., n}.
Dokonalý čtverec je číslo, které lze vyjádřit jako součin celého čísla samého se sebou.

Příklad 1:

Vstup: nums = [8,7,3,5,7,2,4,9]
Výstup: 16
Vysvětlení: Kromě podmnožin, které se skládají z jediného indexu, existují dvě další kompletní podmnožiny indexů: {1,4} a {2,8}.
Součet prvků odpovídajících indexům 1 a 4 je roven nums[1] + nums[4] = 8 + 5 = 13.
Součet prvků odpovídajících indexům 2 a 8 je roven nums[2] + nums[8] = 7 + 9 = 16.
Proto je maximální suma prvků kompletní podmnožiny indexů 16.

Příklad 2:

Vstup: nums = [5,10,3,10,1,13,7,9,4]
Výstup: 19
Vysvětlení: Kromě podmnožin, které se skládají z jediného indexu, existují čtyři další kompletní podmnožiny indexů: {1,4}, {1,9}, {2,8}, {4,9}, a {1,4,9}.
Součet prvků odpovídajících indexům 1 a 4 je roven nums[1] + nums[4] = 5 + 10 = 15.
Součet prvků odpovídajících indexům 1 a 9 je roven nums[1] + nums[9] = 5 + 4 = 9.
Součet prvků odpovídajících indexům 2 a 8 je roven nums[2] + nums[8] = 10 + 9 = 19.
Součet prvků odpovídajících indexům 4 a 9 je roven nums[4] + nums[9] = 10 + 4 = 14.
Součet prvků odpovídajících indexům 1, 4 a 9 je roven nums[1] + nums[4] + nums[9] = 5 + 10 + 4 = 19.
Proto je maximální suma prvků kompletní podmnožiny indexů 19.

Omezení:

1 <= n == nums.length <= 10^4
1 <= nums[i] <= 10^9

Je vám dáno pole s indexem 1 s čísly n celých čísel.
Množina čísel je úplná, pokud součin každého páru jejích prvků je dokonalý čtverec.
Pro podmnožinu množiny indexů {1, 2, ..., n} reprezentovanou jako {i_1, i_2, ..., i_k}, definujeme její součet prvků jako: nums[i_1] + nums[i_2] + ... + nums[i_k].
Vrátí maximální součet prvků úplné podmnožiny množiny indexů {1, 2, ..., n}.
Dokonalá čtverce je číslo, které může být vyjádřeno jako součin celého čísla samo o sobě.

Příklad 1:

Vstup: nums = [8,7,3,5,7,2,4,9]
Výstup: 16
Vysvětlení: Kromě podmnožin skládajících se z jednoho indexu existují další dvě kompletní podmnožiny indexů: {1,4} a {2,8}.
Součet prvků odpovídajících indexům 1 a 4 se rovná nums[1] + nums[4] = 8 + 5 = 13.
Součet prvků odpovídajících indexům 2 a 8 se rovná nums[2] + nums[8] = 7 + 9 = 16.
Maximální součet prvků úplné podmnožiny indexů je tedy 16.

Příklad 2:

Vstup: nums = [5,10,3,10,1,13,7,9,4]
Výstup: 19
Vysvětlení: Kromě podmnožin skládajících se z jednoho indexu existují další čtyři úplné podmnožiny indexů: {1,4}, {1,9}, {2,8}, {4,9} a {1,4,9}.
Součet prvků odpovídajících indexům 1 a 4 se rovná nums[1] + nums[4] = 5 + 10 = 15.
Součet prvků odpovídajících indexům 1 a 9 se rovná nums[1] + nums[9] = 5 + 4 = 9.
Součet prvků odpovídajících indexům 2 a 8 se rovná nums[2] + nums[8] = 10 + 9 = 19.
Součet prvků odpovídajících indexům 4 a 9 se rovná nums[4] + nums[9] = 10 + 4 = 14.
Součet prvků odpovídajících indexům 1, 4 a 9 se rovná nums [1] + nums [4] + nums [9] = 5 + 10 + 4 = 19.
Maximální součet prvků úplné podmnožiny indexů je tedy 19.

Omezení:

1 <= n == nums.length <= 10^4
1 <= nums[i] <= 10^9

Dostanete pole indexované od 1 s počtem n celých čísel.
Sada čísel je úplná čtvercová, pokud je součinem každé dvojice jejích prvků úplná čtvercová.
Pro podmnožinu množiny indexů {1, 2, ..., n} reprezentovanou jako {i_1, i_2, ..., i_k} definujeme její součet prvků jako: nums[i_1] + nums[i_2] + ... + nums[i_k].
Vrátí maximální součet prvků úplné podmnožiny množiny indexů {1, 2, ..., n}.
úplná čtvercová je číslo, které lze vyjádřit jako součin celého čísla samo o sobě.

Příklad 1:

Vstup: nums = [8,7,3,5,7,2,4,9]
Výstup: 16
Vysvětlení: Kromě podmnožin sestávajících z jediného indexu existují dvě další úplné podmnožiny indexů: {1,4} a {2,8}.
Součet prvků odpovídajících indexům 1 a 4 se rovná nums[1] + nums[4] = 8 + 5 = 13.
Součet prvků odpovídajících indexům 2 a 8 se rovná nums[2] + nums[8] = 7 + 9 = 16.
Maximální součet prvků úplné podmnožiny indexů je tedy 16.

Příklad 2:

Vstup: nums = [5,10,3,10,1,13,7,9,4]
Výstup: 19
Vysvětlení: Kromě podmnožin sestávajících z jediného indexu existují čtyři další úplné podmnožiny indexů: {1,4}, {1,9}, {2,8}, {4,9} a {1,4 ,9}.
Součet prvků odpovídajících indexům 1 a 4 se rovná nums[1] + nums[4] = 5 + 10 = 15.
Součet prvků odpovídajících indexům 1 a 9 se rovná nums[1] + nums[9] = 5 + 4 = 9.
Součet prvků odpovídajících indexům 2 a 8 se rovná nums[2] + nums[8] = 10 + 9 = 19.
Součet prvků odpovídajících indexům 4 a 9 se rovná nums[4] + nums[9] = 10 + 4 = 14.
Součet prvků odpovídajících indexům 1, 4 a 9 se rovná nums[1] + nums[4] + nums[9] = 5 + 10 + 4 = 19.
Maximální součet prvků kompletní podmnožiny indexů je tedy 19.

Omezení:

1 <= n == nums.length <= 10^4
1 <= nums[i] <= 10^9


Dostanete binární řetězec s, který obsahuje alespoň jednu '1'.
Musíte přeuspořádat bity tak, aby výsledné binární číslo bylo maximálním lichým binárním číslem, které lze z této kombinace vytvořit.
Vrátí řetězec představující maximální liché binární číslo, které lze vytvořit z dané kombinace.
Všimněte si, že výsledný řetězec může obsahovat úvodní nuly.

Příklad 1:

Vstup: s = "010"
Výstup: "001"
Vysvětlení: Protože je jen jedna '1', musí být na poslední pozici. Odpověď je tedy "001".

Příklad 2:

Vstup: s = "0101"
Výstup: "1001"
Vysvětlení: Jedna z jedniček musí být na poslední pozici. Maximální číslo, které lze vytvořit se zbývajícími číslicemi, je "100". Odpověď je tedy "1001".

Omezení:

1 <= s.length <= 100
S se skládá pouze z "0" a "1".
s obsahuje alespoň jednu "1".

Dostanete binární řetězec s, který obsahuje alespoň jednu '1'.
Musíte přeskupit bity tak, aby výsledné binární číslo bylo maximální liché binární číslo, které lze z této kombinace vytvořit.
Vrátí řetězec představující maximální liché binární číslo, které lze z dané kombinace vytvořit.
Všimněte si, že výsledný řetězec může mít úvodní nuly.

Příklad 1:

Vstup: s = "010"
Výstup: "001"
Vysvětlení: Protože existuje pouze jedna '1', musí být na poslední pozici. Takže odpověď je "001".

Příklad 2:

Vstup: s = "0101"
Výstup: "1001"
Vysvětlení: Jedna z '1' musí být na poslední pozici. Maximální počet, který lze vytvořit se zbývajícími číslicemi, je "100". Takže odpověď je "1001".

Omezení:

1 <= s.length <= 100
s se skládá pouze z '0' a '1'.
s obsahuje alespoň jednu '1'.

Dostanete binární řetězec s, který obsahuje alespoň jednu '1'.
Musíte přeskupit bity tak, aby výsledné binární číslo bylo maximální liché binární číslo, které lze z této kombinace vytvořit.
Vrátí řetězec představující maximální liché binární číslo, které lze z dané kombinace vytvořit.
Všimněte si, že výsledný řetězec může mít úvodní nuly.

Příklad 1:

Vstup: s = "010"
Výstup: "001"
Vysvětlení: Protože existuje pouze jedna '1', musí být na poslední pozici. Takže odpověď je "001".

Příklad 2:

Vstup: s = "0101"
Výstup: "1001"
Vysvětlení: Jedna z '1' musí být na poslední pozici. Maximální počet, který lze vytvořit se zbývajícími číslicemi, je „100“. Takže odpověď je "1001".

Omezení:

1 <= s.length <= 100
s se skládá pouze z „0“ a „1“.
s obsahuje alespoň jednu '1'.


Máte pole `nums` sestávající z nezáporných celých čísel.
Definujeme skóre podpole `nums[l..r]`, kde \( l \leq r \), jako \( \text{nums}[l] \land \text{nums}[l + 1] \land \dots \land \text{nums}[r] \), kde \(\land\) je bitový operátor AND.
Uvažujte rozdělení pole na jedno nebo více podpolí tak, aby byly splněny následující podmínky:

Každý prvek pole patří přesně do jednoho podpole.
 Součet skóre těchto podpolí je co nejmenší.

Vrátit maximální počet podpolí, na které lze pole rozdělit tak, aby byly splněny výše uvedené podmínky.
Podpole je souvislá část pole.

Příklad 1:

Vstup: nums = [1,0,2,0,1,2]
Výstup: 3
Vysvětlení: Můžeme rozdělit pole do následujících podpoli:
- [1,0]. Skóre tohoto podpole je 1 AND 0 = 0.
- [2,0]. Skóre tohoto podpole je 2 AND 0 = 0.
- [1,2]. Skóre tohoto podpole je 1 AND 2 = 0.
Součet skóre je 0 + 0 + 0 = 0, což je minimální možné skóre, které můžeme získat. Lze ukázat, že nelze rozdělit pole na více než 3 podpoli s celkovým skóre 0. Takže vrátíme 3.

Příklad 2:

Vstup: nums = [5,7,1,3]
Výstup: 1
Vysvětlení: Můžeme rozdělit pole do jednoho podpole: [5,7,1,3] s skóre 1, což je minimální možné skóre, které můžeme získat. Lze ukázat, že nelze rozdělit pole na více než 1 podpole s celkovým skóre 1. Takže vrátíme 1.

Omezení:

1 <= nums.length <= 10^5
0 <= nums[i] <= 10^6

Dostanete pole nums skládající se z nezáporných celých čísel.
Definujeme skóre podpole nums[l..r] tak, že l <= r jako nums[l] AND nums[l + 1] AND ... AND nums[r] kde AND je bitová operace AND.
Zvažte rozdělení pole do jednoho nebo více podpolí tak, aby byly splněny následující podmínky:

Každý prvek pole patří přesně do jednoho podpole.
Součet skóre podpolí je minimum možné.

Vraťte maximální počet podpolí v rozdělení, které splňuje výše uvedené podmínky.
Podpole je souvislá část pole.

Příklad 1:

Vstup: nums = [1,0,2,0,1,2]
Výstup: 3
Vysvětlení: Pole můžeme rozdělit na následující podpole:
- [1,0]. Skóre tohoto podpole je 1 A 0 = 0.
- [2,0]. Skóre tohoto podpole je 2 A 0 = 0.
- [1,2]. Skóre tohoto podpole je 1 A 2 = 0.
Součet skóre je 0 + 0 + 0 = 0, což je minimální možné skóre, které můžeme získat.
Lze ukázat, že nemůžeme rozdělit pole na více než 3 podpole s celkovým skóre 0. Takže vrátíme 3.

Příklad 2:

Vstup: nums = [5,7,1,3]
Výstup: 1
Vysvětlení: Pole můžeme rozdělit do jednoho podpole: [5,7,1,3] se skóre 1, což je minimální možné skóre, které můžeme získat.
Lze ukázat, že nemůžeme rozdělit pole na více než 1 podpole s celkovým skóre 1. Takže vrátíme 1.

Omezení:

1 <= nums.length <= 10^5
0 <= nums[i] <= 10^6


Máte dané 0-indexované seřazené pole celých čísel nums.
Můžete provést následující operaci libovolněkrát:

Vyberte dvě indexy, i a j, kde i < j, takové, že nums[i] < nums[j].
Pak odstraňte prvky na indexech i a j z nums. Zbývající prvky si zachovávají svůj původní pořádek a pole je znovu indexováno.

Vraťte celé číslo, které označuje minimální délku pole nums po provedení operace libovolněkrát (včetně nuly).
Všimněte si, že nums je seřazené v neklesajícím pořadí.

Příklad 1:

Vstup: nums = [1,3,4,9]
Výstup: 0
Vysvětlení: Původně, nums = [1, 3, 4, 9].
V první operaci můžeme zvolit indexy 0 a 1, protože nums[0] < nums[1] <=> 1 < 3.
Odstraňte indexy 0 a 1 a nums se stane [4, 9].
Pro další operaci můžeme zvolit indexy 0 a 1, protože nums[0] < nums[1] <=> 4 < 9.
Odstraňte indexy 0 a 1 a nums se stane prázdným polem [].
Proto je minimální dosáhnutelná délka 0.

Příklad 2:

Vstup: nums = [2,3,6,9]
Výstup: 0
Vysvětlení: Původně, nums = [2, 3, 6, 9].
V první operaci můžeme zvolit indexy 0 a 2, protože nums[0] < nums[2] <=> 2 < 6.
Odstraňte indexy 0 a 2 a nums se stane [3, 9].
Pro další operaci můžeme zvolit indexy 0 a 1, protože nums[0] < nums[1] <=> 3 < 9.
Odstraňte indexy 0 a 1 a nums se stane prázdným polem [].
Proto je minimální dosáhnutelná délka 0.

Příklad 3:

Vstup: nums = [1,1,2]
Výstup: 1
Vysvětlení: Původně, nums = [1, 1, 2].
V operaci můžeme zvolit indexy 0 a 2, protože nums[0] < nums[2] <=> 1 < 2.
Odstraňte indexy 0 a 2 a nums se stane [1].
Již není možné provést operaci na poli.
Proto je minimální dosažitelná délka 1.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
nums je seřazené v neklesajícím pořadí.

Dostanete 0-indexované seřazené pole celých čísel nums.
Následující operaci můžete provést libovolněkrát:

Vyberte dva indexy, i a j, kde i < j, takže nums[i] < nums[j].
Poté odeberte prvky u indexů i a j z num. Zbývající prvky si zachovají své původní pořadí a pole je znovu indexováno.

Vraťte celé číslo, které označuje minimální délku num po provedení operace libovolný počet opakování (včetně nuly).
Všimněte si, že čísla jsou seřazeny v neklesajícím pořadí.

Příklad 1:

Vstup: nums = [1,3,4,9]
Výstup: 0
Vysvětlení: Zpočátku nums = [1, 3, 4, 9].
V první operaci můžeme zvolit index 0 a 1, protože nums[0] < nums[1] <=> 1 < 3.
Odstraňte indexy 0 a 1 a nums se změní na [4, 9].
Pro další operaci můžeme zvolit index 0 a 1, protože nums[0] < nums[1] <=> 4 < 9.
Odstraňte indexy 0 a 1 a nums se stane prázdným polem [].
Minimální dosažitelná délka je tedy 0.
Příklad 2:

Vstup: nums = [2,3,6,9]
Výstup: 0
Vysvětlení: Zpočátku nums = [2, 3, 6, 9].
V první operaci můžeme zvolit index 0 a 2, protože nums[0] < nums[2] <=> 2 < 6.
Odstraňte indexy 0 a 2 a nums se změní na [3, 9].
Pro další operaci můžeme zvolit index 0 a 1, protože nums[0] < nums[1] <=> 3 < 9.
Odstraňte indexy 0 a 1 a nums se stane prázdným polem [].
Minimální dosažitelná délka je tedy 0.

Příklad 3:

Vstup: nums = [1,1,2]
Výstup: 1
Vysvětlení: Zpočátku nums = [1, 1, 2].
V operaci můžeme zvolit index 0 a 2, protože nums[0] < nums[2] <=> 1 < 2.
Odstraňte indexy 0 a 2 a nums se změní na [1].
Na poli již není možné provést operaci.
Minimální dosažitelná délka je tedy 1.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
nums jsou seřazeny v neklesajícím pořadí.

Je zadáno pole celých čísel s indexem 0.
Následující operaci můžete provést libovolný početkrát:

Zvolte dva indexy i a j, kde i < j, tak, aby nums[i] < nums[j].
Pak odstraňte prvky na indexech i a j. Zbývající prvky zachovají své původní pořadí a pole se znovu zaindexuje.

Vraťte celé číslo, které označuje minimální délku pole nums po provedení operace libovolný početkrát, včetně nuly.
Všimněte si, že nums je seřazeno v neklesajícím pořadí.

Příklad 1:

Vstup: nums = [1,3,4,9]
Výstup: 0
Vysvětlení: Na začátku je nums = [1, 3, 4, 9].
V první operaci můžeme zvolit indexy 0 a 1, protože nums[0] < nums[1] <=> 1 < 3.
Odstraňte indexy 0 a 1 a z nums se stane [4, 9].
Pro další operaci můžeme zvolit indexy 0 a 1, protože nums[0] < nums[1] <=> 4 < 9. můžeme zvolit indexy 0 a 1, protože nums[1] <=> 4 < 9.
Odstraníme indexy 0 a 1 a z nums se stane prázdné pole [].
Minimální dosažitelná délka je tedy 0.
Příklad 2:

Vstup: nums = [2,3,6,9]
Výstup: 0
Vysvětlení: Na začátku je nums = [2, 3, 6, 9].
V první operaci můžeme zvolit indexy 0 a 2, protože nums[0] < nums[2] <=> 2 < 6.
Odstraňte indexy 0 a 2 a z nums se stane [3, 9].
Pro další operaci můžeme zvolit indexy 0 a 1, protože nums[0] < nums[1] <=> 3 < 9. Pro další operaci můžeme zvolit indexy 0 a 1, protože nums[0] < nums[1] <=> 3 < 9.
Odstraníme indexy 0 a 1 a z nums se stane prázdné pole [].
Minimální dosažitelná délka je tedy 0.

Příklad 3:

Vstup: nums = [1,1,2]
Výstup: 1
Vysvětlení: Na začátku je nums = [1, 1, 2].
Při operaci můžeme zvolit indexy 0 a 2, protože nums[0] < nums[2] <=> 1 < 2.
Odstraňte indexy 0 a 2 a z nums se stane [1].
Nad polem již není možné provést operaci.
Minimální dosažitelná délka je tedy 1.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
nums je seřazeno v neklesajícím pořadí.


Máte 0-indexované pole `nums` nezáporných celých čísel a dvě celá čísla `l` a `r`.
Vrátíte počet pod-množin v `nums`, kde součet prvků v každé podmnožině spadá do inkluzivního rozmezí [l, r].
Protože odpověď může být velká, vraťte ji jako zbytek po dělení 10^9 + 7.
Pod-množina je neuspořádaná kolekce prvků pole, ve které se daná hodnota `x` může vyskytovat 0, 1, ..., `occ[x]` krát, kde `occ[x]` je počet výskytů `x` v poli.
Všimněte si:

Dvě pod-množiny jsou stejné, pokud při jejich setřídění vedou k identickým množinám.
Součet prázdné podmnožiny je 0.

Příklad 1:

Vstup: nums = [1,2,2,3], l = 6, r = 6
Výstup: 1
Vysvětlení: Jediná podmnožina `nums`, která má součet 6, je {1, 2, 3}.

Příklad 2:

Vstup: nums = [2,1,4,2,7], l = 1, r = 5
Výstup: 7
Vysvětlení: Podmnožiny `nums`, které mají součet v rozmezí [1, 5] jsou {1}, {2}, {4}, {2, 2}, {1, 2}, {1, 4} a {1, 2, 2}.

Příklad 3:

Vstup: nums = [1,2,1,3,5,2], l = 3, r = 5
Výstup: 9
Vysvětlení: Podmnožiny `nums`, které mají součet v rozmezí [3, 5] jsou {3}, {5}, {1, 2}, {1, 3}, {2, 2}, {2, 3}, {1, 1, 2}, {1, 1, 3} a {1, 2, 2}.

Omezení:

1 <= nums.length <= 2 * 10^4
0 <= nums[i] <= 2 * 10^4
Součet `nums` nepřesahuje 2 * 10^4.
0 <= l <= r <= 2 * 10^4

Dostanete 0-indexované pole čísel nezáporných celých čísel a dvě celá čísla l a r.
Vrátí počet dílčích množin v rámci num, kde součet prvků v každé podmnožině spadá do rozsahu [l, r].
Protože odpověď může být velká, vraťte ji modulo 10^9 + 7.
Dílčí množina je neuspořádaná sbírka prvků pole, ve které se daná hodnota x může vyskytnout 0, 1, ..., occ[x] krát, kde occ[x] je počet výskytů x v poli. .
Všimněte si, že:

Dva dílčí multisety jsou stejné, pokud setřídění obou dílčích multisetů vede k identickým multisetům.
Součet prázdné multimnožiny je 0.

Příklad 1:

Vstup: nums = [1,2,2,3], l = 6, r = 6
Výstup: 1
Vysvětlení: Jediná podmnožina čísel, která má součet 6, je {1, 2, 3}.

Příklad 2:

Vstup: nums = [2,1,4,2,7], l = 1, r = 5
Výstup: 7
Vysvětlení: Podmnožiny čísel, které mají součet v rozsahu [1, 5], jsou {1}, {2}, {4}, {2, 2}, {1, 2}, {1, 4} a {1, 2, 2}.

Příklad 3:

Vstup: nums = [1,2,1,3,5,2], l = 3, r = 5
Výstup: 9
Vysvětlení: Podmnožiny čísel, které mají součet v rozsahu [3, 5], jsou {3}, {5}, {1, 2}, {1, 3}, {2, 2}, {2, 3} , {1, 1, 2}, {1, 1, 3} a {1, 2, 2}.

Omezení:

1 <= nums.length <= 2 * 10^4
0 <= nums[i] <= 2 * 10^4
Součet čísel nepřesahuje 2 * 10^4.
0 <= l <= r <= 2 * 10^4

Je dáno pole nezáporných celých čísel s indexem 0 nums a dvě celá čísla l a r.
Vraťte počet podmnožin v poli nums, kde součet prvků v každé podmnožině spadá do rozsahu [l, r] včetně.
Protože odpověď může být velká, vraťte ji modulo 10^9 + 7.
Dílčí množina je neuspořádaná kolekce prvků pole, ve které se daná hodnota x může vyskytnout 0, 1, ..., occ[x] krát, kde occ[x] je počet výskytů x v poli.
Všimněte si, že:

Dvě podmnožiny jsou stejné, pokud výsledkem třídění obou podmnožin je stejná množina.
Součet prázdné multisoustavy je 0.

Příklad 1:

Vstup: nums = [1,2,2,3], l = 6, r = 6
Výstup: 1
Vysvětlení: Jediná podmnožina nums, která má součet 6, je {1, 2, 3}.

Příklad 2:

Vstup: nums = [2,1,4,2,7], l = 1, r = 5
Výstup: 7
Vysvětlení: Podmnožiny nums, jejichž součet je v rozsahu [1, 5], jsou {1}, {2}, {4}, {2, 2}, {1, 2}, {1, 4} a {1, 2, 2}.

Příklad 3:

Vstup: nums = [1,2,1,3,5,2], l = 3, r = 5
Výstup: 9
Vysvětlení: Podmnožiny nums, jejichž součet je v rozsahu [3, 5], jsou {3}, {5}, {1, 2}, {1, 3}, {2, 2}, {2, 3}, {1, 1, 2}, {1, 1, 3} a {1, 2, 2}.

Omezení:

1 <= nums.length <= 2 * 10^4
0 <= nums[i] <= 2 * 10^4
Součet nums nepřesahuje 2 * 10^4.
0 <= l <= r <= 2 * 10^4


Je vám dáno celistvé pole s nulovým indexem `nums` a celé číslo `k`.
Vrátit celé číslo, které označuje součet prvků v `nums`, jejichž odpovídající indexy mají přesně `k` nastavených bitů ve svém binárním zápisu.
Nastavené bity v celém čísle jsou 1 v jeho binární reprezentaci.

Například binární reprezentace čísla 21 je 10101, což má 3 nastavené bity.

Příklad 1:

Vstup: nums = [5,10,1,5,2], k = 1
Výstup: 13
Vysvětlení: Binární reprezentace indexů jsou:
0 = 000_2
1 = 001_2
2 = 010_2
3 = 011_2
4 = 100_2
Indexy 1, 2 a 4 mají `k = 1` nastavených bitů ve své binární reprezentaci.
Proto je odpověď `nums[1] + nums[2] + nums[4] = 13`.

Příklad 2:

Vstup: nums = [4,3,2,1], k = 2
Výstup: 1
Vysvětlení: Binární reprezentace indexů jsou:
0 = 00_2
1 = 01_2
2 = 10_2
3 = 11_2
Pouze index 3 má `k = 2` nastavené bity ve své binární reprezentaci.
Proto je odpověď `nums[3] = 1`.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 10^5
0 <= k <= 10

Máte zadané celočíselné pole nums s nulovým indexováním a celé číslo k.
Vrátí celé číslo, které označuje součet prvků v `nums`, jejichž odpovídající indexy mají přesně k nastavených bitů ve své binární reprezentaci.
Nastavené bity v celém čísle jsou jedničky, které se objeví, když je číslo zapsáno v binární soustavě.

Například binární reprezentace čísla 21 je 10101, což má 3 nastavené bity.

Příklad 1:

Vstup: `nums = [5,10,1,5,2], k = 1
Výstup: `13
Vysvětlení: Binární reprezentace indexů je:
0 = 000₂
1 = 001₂
2 = 010₂
3 = 011₂
4 = 100₂
Indexy 1, 2 a 4 mají `k = 1` nastavený bit ve své binární reprezentaci.
Proto je odpověď `nums[1] + nums[2] + nums[4] = 13`.

Příklad 2:

Vstup: nums = [4,3,2,1], k = 2
Výstup: 1
Vysvětlení: Binární reprezentace indexů jsou:
0 = 00_2
1 = 01_2
2 = 10_2
3 = 11_2
Pouze index 3 má `k = 2` nastavené bity ve své binární reprezentaci.
Proto je odpověď `nums[3] = 1`.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 10^5
0 <= k <= 10

Je zadáno pole celých čísel nums s indexem 0 a celé číslo k.
Vraťte celé číslo, které označuje součet prvků v poli nums, jejichž odpovídající indexy mají ve své binární reprezentaci přesně k nastavených bitů.
Nastavené bity v celém čísle jsou jedničky přítomné při jeho zápisu ve dvojkové soustavě.

Například binární reprezentace čísla 21 je 10101, které má 3 set bity.

Příklad 1:

Vstup: nums = [5,10,1,5,2], k = 1
Výstup: 13
Vysvětlení: Binární reprezentace indexů jsou:
0 = 000_2
1 = 001_2
2 = 010_2
3 = 011_2
4 = 100_2
Indexy 1, 2 a 4 mají ve své binární reprezentaci nastaveno k = 1 bitů.
Odpověď je tedy nums[1] + nums[2] + nums[4] = 13.
Příklad 2:

Vstup: nums = [4,3,2,1], k = 2
Výstup: 1
Vysvětlení: Binární reprezentace indexů jsou:
0 = 00_2
1 = 01_2
2 = 10_2
3 = 11_2
Pouze index 3 má ve své binární reprezentaci k = 2 nastavené bity.
Proto je odpověď nums[3] = 1.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 10^5
0 <= k <= 10


Máte dané pole nums s indexováním od 0, které obsahuje kladná celá čísla.
Existují dva typy operací, které můžete na toto pole aplikovat libovolný početkrát:

Vyberte dva prvky se stejnými hodnotami a odstraňte je z pole.
Vyberte tři prvky se stejnými hodnotami a odstraňte je z pole.

Vrátí minimální počet operací potřebných k vyprázdnění pole, nebo -1, pokud to není možné.

Příklad 1:

Vstup: nums = [2,3,3,2,2,4,2,3,4]
Výstup: 4
Vysvětlení: Můžeme aplikovat následující operace k vyprázdnění pole:
- Použijeme první operaci na prvcích s indexy 0 a 3. Výsledné pole je nums = [3,3,2,4,2,3,4].
- Použijeme první operaci na prvcích s indexy 2 a 4. Výsledné pole je nums = [3,3,4,3,4].
- Použijeme druhou operaci na prvcích s indexy 0, 1 a 3. Výsledné pole je nums = [4,4].
- Použijeme první operaci na prvcích s indexy 0 a 1. Výsledné pole je nums = [].
Můžeme ukázat, že nelze pole vyprázdnit za méně než 4 operace.

Příklad 2:

Vstup: nums = [2,1,2,2,3,3]
Výstup: -1
Vysvětlení: Není možné pole vyprázdnit.

Omezení:

2 <= nums.length <= 10^5
1 <= nums[i] <= 10^6

Dostanete číslo pole indexované 0 skládající se z kladných celých čísel.
Existují dva typy operací, které můžete na pole použít libovolněkrát:

Vyberte dva elementy se stejnými hodnotami a odstraňte je z pole.
Vyberte tři elementy se stejnými hodnotami a odstraňte je z pole.

Vrátí minimální počet operací potřebných k vyprázdnění pole, nebo -1, pokud to není možné.

Příklad 1:

Vstup: nums = [2,3,3,2,2,4,2,3,4]
Výstup: 4
Vysvětlení: K vyprázdnění pole můžeme použít následující operace:
- První operaci použijte na prvky na indexech 0 a 3. Výsledná matice je nums = [3,3,2,4,2,3,4].
- První operaci použijte na prvky v indexech 2 a 4. Výsledná matice má nums = [3,3,4,3,4].
- Druhou operaci použijte na prvky v indexech 0, 1 a 3. Výsledné pole je nums = [4,4].
- První operaci použijte na prvky v indexech 0 a 1. Výsledné pole má nums = [].
Lze ukázat, že nemůžeme vytvořit prázdné pole za méně než 4 operace.

Příklad 2:

Vstup: nums = [2,1,2,2,3,3]
Výstup: -1
Vysvětlení: Pole není možné vyprázdnit.

Omezení:

2 <= nums.length <= 10^5
1 <= nums[i] <= 10^6

Dostanete 0-indexované pole nums skládající se z kladných celých čísel.
Existují dva typy operací, které můžete na pole použít libovolný počet opakování:

Vyberte dva prvky se stejnými hodnotami a odstraňte je z pole.
Vyberte tři prvky se stejnými hodnotami a odstraňte je z pole.

Vraťte minimální počet operací potřebných k tomu, aby bylo pole prázdné, nebo -1, pokud to není možné.

Příklad 1:

Vstup: nums = [2,3,3,2,2,4,2,3,4]
Výstup: 4
Vysvětlení: Aby bylo pole prázdné, můžeme použít následující operace:
- Aplikujte první operaci na prvky s indexy 0 a 3. Výsledné pole je nums = [3,3,2,4,2,3,4].
- Aplikujte první operaci na prvky na indexech 2 a 4. Výsledné pole je nums = [3,3,4,3,4].
- Aplikujte druhou operaci na prvky s indexy 0, 1 a 3. Výsledné pole je nums = [4,4].
- Aplikujte první operaci na prvky s indexy 0 a 1. Výsledné pole je nums = [].
Lze ukázat, že pole nevyprázdníme za méně než 4 operace.

Příklad 2:

Vstup: nums = [2,1,2,2,3,3]
Výstup: -1
Vysvětlení: Pole není možné vyprázdnit.

Omezení:

2 <= nums.length <= 10^5
1 <= nums[i] <= 10^6


Dostanete 0-indexované celé pole čísel délky n, kde n je celkový počet studentů ve třídě. Třídní učitel se snaží vybrat skupinu žáků tak, aby všichni žáci zůstali spokojeni.
I^tý student bude šťastný, pokud bude splněna jedna z těchto dvou podmínek:

Student je vybrán a celkový počet vybraných studentů je přísně vyšší než nums[i].
Student není vybrán a celkový počet vybraných studentů je striktně nižší než nums[i].

Vraťte počet způsobů, jak vybrat skupinu studentů, aby všichni zůstali spokojeni.

Příklad 1:

Vstup: nums = [1,1]
Výstup: 2
Vysvětlení:
Dva možné způsoby jsou:
Třídní učitel nevybere žádného žáka.
Třídní učitel vybere oba žáky, aby vytvořili skupinu.
Pokud třídní učitel vybere do skupiny pouze jednoho žáka, nebudou spokojeni oba žáci. Proto existují pouze dva možné způsoby.

Příklad 2:

Vstup: nums = [6,0,3,3,6,7,2,7]
Výstup: 3
Vysvětlení:
Tři možné způsoby jsou:
Třídní učitel vybere žáka s indexem = 1, aby vytvořil skupinu.
Třídní učitel vybere do skupiny žáky s indexem = 1, 2, 3, 6.
Třídní učitel vybere všechny žáky, aby vytvořili skupinu.

Omezení:

1 <= nums.length <= 10^5
0 <= nums[i] < nums.length

Dostanete 0-indexované celé pole čísel délky n, kde n je celkový počet studentů ve třídě. Třídní učitel se snaží vybrat skupinu žáků tak, aby všichni žáci zůstali spokojeni.
I^tý student bude šťastný, pokud bude splněna jedna z těchto dvou podmínek:

Student je vybrán a celkový počet vybraných studentů je přísně větší než nums[i].
Student není vybrán a celkový počet vybraných studentů je přísně nižší než nums[i].

Vraťte počet způsobů, jak vybrat skupinu studentů, aby všichni zůstali spokojeni.

Příklad 1:

Vstup: nums = [1,1]
Výstup: 2
Vysvětlení:
Dva možné způsoby jsou:
Třídní učitel nevybere žádného žáka.
Třídní učitel vybere oba žáky, aby vytvořili skupinu.
Pokud třídní učitel vybere do skupiny pouze jednoho žáka, nebudou spokojeni oba žáci. Proto existují pouze dva možné způsoby.

Příklad 2:

Vstup: nums = [6,0,3,3,6,7,2,7]
Výstup: 3
Vysvětlení:
Tři možné způsoby jsou:
Třídní učitel vybere žáka s indexem = 1, aby vytvořil skupinu.
Třídní učitel vybere do skupiny žáky s indexem = 1, 2, 3, 6.
Třídní učitel vybere všechny žáky, aby vytvořili skupinu.

Omezení:

1 <= nums.length <= 10^5
0 <= nums[i] < nums.length

Je zadáno pole celočíselných čísel s indexem 0 a délkou n, kde n je celkový počet studentů ve třídě. Učitel se snaží vybrat skupinu žáků tak, aby všichni žáci zůstali spokojeni.
Spokojený bude i^tý student, pokud je splněna jedna z těchto dvou podmínek:

Student je vybrán a celkový počet vybraných studentů je striktně větší než nums[i].
Student není vybrán a celkový počet vybraných studentů je striktně menší než nums[i].

Vraťte počet způsobů výběru skupiny studentů tak, aby všichni zůstali spokojeni.

Příklad 1:

Vstup: nums = [1,1]
Výstup: 2
Vysvětlení:
Dva možné způsoby jsou:
Učitel nevybere žádného žáka.
Učitel vybere oba žáky, kteří vytvoří skupinu.
Pokud učitel vybere pouze jednoho žáka, aby vytvořil skupinu, pak nebudou oba žáci spokojeni. Existují tedy pouze dva možné způsoby.

Příklad 2:

Vstup: nums = [6,0,3,3,6,7,2,7].
Výstup: 3
Vysvětlení:
Tři možné způsoby jsou:
Učitel vybere žáka s indexem = 1 a vytvoří skupinu.
Učitel vybere žáky s indexem = 1, 2, 3, 6, aby vytvořili skupinu.
Učitel vybere všechny studenty, aby vytvořili skupinu.

Omezení:

1 <= nums.length <= 10^5
0 <= nums[i] < nums.length


Je dáno 0-indexované pole celých čísel nums a celé číslo target.
Vraťte délku nejdelší podposloupnosti pole nums, jejíž součet je roven target. Pokud taková podposloupnost neexistuje, vraťte -1.
Podposloupnost je pole, které lze odvodit z jiného pole vymazáním některých nebo žádných prvků, aniž by se změnilo pořadí zbývajících prvků.

Příklad 1:

Vstup: nums = [1,2,3,4,5], target = 9
Výstup: 3
Vysvětlení: Existují 3 podposloupnosti se součtem rovným 9: [4,5], [1,3,5] a [2,3,4]. Nejdelší podposloupnosti jsou [1,3,5] a [2,3,4]. Odpověď je tedy 3.

Příklad 2:

Vstup: nums = [4,1,3,2,1,5], target = 7
Výstup: 4
Vysvětlení: Existuje 5 podposloupností se součtem rovným 7: [4,3], [4,1,2], [4,2,1], [1,1,5] a [1,3,2,1]. Nejdelší podposloupnost je [1,3,2,1]. Odpověď je tedy 4.

Příklad 3:

Vstup: nums = [1,1,5,4,5], target = 3
Výstup: -1
Vysvětlení: Lze ukázat, že nums nemá žádnou podposloupnost, jejíž součet je roven 3.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 1000
1 <= target <= 1000

Je zadáno pole celých čísel nums s indexem 0 a celočíselný cíl.
Vraťte délku nejdelší podřetězce čísel nums, jejíž součet je roven cíli. Pokud taková posloupnost neexistuje, vrátíte -1.
Podřetězec je pole, které lze odvodit z jiného pole odstraněním některých nebo žádných prvků, aniž by se změnilo pořadí zbývajících prvků.

Příklad 1:

Vstup: nums = [1,2,3,4,5], target = 9
Výstup: 3
Vysvětlení: [4,5], [1,3,5] a [2,3,4]. Nejdelší podřetězce jsou [1,3,5] a [2,3,4]. Odpověď je tedy 3.

Příklad 2:

Vstup: nums = [4,1,3,2,1,5], cíl = 7
Výstup: 4
Vysvětlení: Existuje 5 podřetězců se součtem rovným 7: [4,3], [4,1,2], [4,2,1], [1,1,5] a [1,3,2,1]. Nejdelší podřetězec je [1,3,2,1]. Odpověď je tedy 4.

Příklad 3:

Vstup: nums = [1,1,5,4,5], cíl = 3
Výstup: -1
Vysvětlení: Lze ukázat, že nums nemá žádnou podřetězec, jehož součet by byl 3.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 1000
1 <= cíl <= 1000

Dostanete 0-indexované pole celých čísel nums a celočíselný cíl.
Vrátí délku nejdelší dílčí posloupnosti čísel, která se rovná cíli. Pokud žádná taková podsekvence neexistuje, vrátí -1.
Podsekvence je pole, které lze odvodit z jiného pole odstraněním některých nebo žádných prvků, aniž by se změnilo pořadí zbývajících prvků.

Příklad 1:

Vstup: nums = [1,2,3,4,5], cíl = 9
Výstup: 3
Vysvětlení: Existují 3 podsekvence se součtem rovným 9: [4,5], [1,3,5] a [2,3,4]. Nejdelší podsekvence jsou [1,3,5] a [2,3,4]. Odpověď je tedy 3.

Příklad 2:

Vstup: nums = [4,1,3,2,1,5], cíl = 7
Výstup: 4
Vysvětlení: Existuje 5 podsekvencí se součtem rovným 7: [4,3], [4,1,2], [4,2,1], [1,1,5] a [1,3,2 ,1]. Nejdelší podsekvence je [1,3,2,1]. Odpověď je tedy 4.

Příklad 3:

Vstup: nums = [1,1,5,4,5], cíl = 3
Výstup: -1
Vysvětlení: Lze ukázat, že nums nemá žádnou dílčí posloupnost, která by se rovnala 3.

Omezení:

1 <= nums.length <= 1000
1 <= nums[i] <= 1000
1 <= cíl <= 1000


Je vám dáno pole maxHeights s n celými čísly s indexováním od 0.
Vaším úkolem je postavit n věží na souřadnicové čáře. i-tá věž je postavena na souřadnici i a má výšku heights[i].
Konfigurace věží je krásná, pokud platí následující podmínky:

1 <= heights[i] <= maxHeights[i]
heights je horské pole.

Pole heights je horské, pokud existuje index i takový, že:

Pro všechna 0 < j <= i, platí heights[j - 1] <= heights[j]
Pro všechna i <= k < n - 1, platí heights[k + 1] <= heights[k]

Vrátí maximální možný součet výšek krásné konfigurace věží.

Příklad 1:

Vstup: maxHeights = [5,3,4,1,1]
Výstup: 13
Vysvětlení: Jedna krásná konfigurace s maximálním součtem je heights = [5,3,3,1,1]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- heights je hora s vrcholem i = 0.
Ukazuje se, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 13.
Příklad 2:

Vstup: maxHeights = [6,5,3,9,2,7]
Výstup: 22
Vysvětlení: Jedna krásná konfigurace s maximálním součtem je heights = [3,3,3,9,2,2]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- heights je hora s vrcholem i = 3.
Ukazuje se, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 22.
Příklad 3:

Vstup: maxHeights = [3,2,5,5,2,3]
Výstup: 18
Vysvětlení: Jedna krásná konfigurace s maximálním součtem je heights = [2,2,5,5,2,2]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- heights je hora s vrcholem i = 2.
Všimněte si, že pro tuto konfiguraci může být i = 3 také považován za vrchol.
Ukazuje se, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 18.

Podmínky:

1 <= n == maxHeights <= 10^3
1 <= maxHeights[i] <= 10^9

Dostanete 0-indexované pole maxHeights n celých čísel.
Máte za úkol postavit n věží v souřadnicové linii. I^tá věž je postavena na souřadnici i a má výšku výšek[i].
Konfigurace věží je krásná, pokud jsou splněny následující podmínky:

1 <= heights[i] <= maxHeights[i]
výšky.

Array heights je hora, pokud existuje index i takový, že:

Pro všechny 0 < j <= i, výšky[j - 1] <= výšky[j]
Pro všechna i <= k < n - 1, výšky[k + 1] <= výšky[k]

Vraťte maximální možný součet výšek krásné konfigurace věží.

Příklad 1:

Vstup: maxHeights = [5,3,4,1,1]
Výstup: 13
Vysvětlení: Jedna krásná konfigurace s maximálním součtem jsou výšky = [5,3,3,1,1]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- výška je hora vrcholu i = 0.
Lze ukázat, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 13.
Příklad 2:

Vstup: maxHeights = [6,5,3,9,2,7]
Výstup: 22
Vysvětlení: Jedna krásná konfigurace s maximálním součtem jsou výšky = [3,3,3,9,2,2]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- výšky je hora vrcholu i = 3.
Lze ukázat, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 22.
Příklad 3:

Vstup: maxHeights = [3,2,5,5,2,3]
Výstup: 18
Vysvětlení: Jedna krásná konfigurace s maximálním součtem jsou výšky = [2,2,5,5,2,2]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- výšky je hora vrcholu i = 2.
Všimněte si, že pro tuto konfiguraci lze i = 3 považovat za vrchol.
Lze ukázat, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 18.

Omezení:

1 <= n == maxHeights <= 10^3
1 <= maxHeights[i] <= 10^9

Dostanete pole maxHeights indexované 0 s n celými čísly.
Máte za úkol postavit n věží v souřadnicové linii. i-tá věž je postavena na souřadnici i a má heights[i].
Konfigurace věží je krásná, pokud jsou splněny následující podmínky:

1 <= heights[i] <= maxHeights[i]
Heights je horské pole.

Array heights je hora, pokud existuje index i takový, že:

Pro všechny 0 < j <= i, heights[j - 1] <= heights[j]
Pro všechna i <= k < n - 1, heights[k + 1] <= heights[k]

Vrací maximální možný součet výšek krásné konfigurace věží.

Příklad 1:

Vstup: maxHeights = [5,3,4,1,1]
Výstup: 13
Vysvětlení: Jedna krásná konfigurace s maximálním součtem je výšky = [5,3,3,1,1]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- Heights je hora s vrcholem i = 0.
Lze ukázat, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 13.
Příklad 2:

Vstup: maxHeights = [6,5,3,9,2,7]
Výstup: 22
Vysvětlení: Jedna krásná konfigurace s maximálním součtem je výšky = [3,3,3,9,2,2]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- Heights je hora s vrcholem I = 3.
Lze ukázat, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 22.
Příklad 3:

Vstup: maxHeights = [3,2,5,5,2,3]
Výstup: 18
Vysvětlení: Jedna krásná konfigurace s maximálním součtem je výšky = [2,2,5,5,2,2]. Tato konfigurace je krásná, protože:
- 1 <= heights[i] <= maxHeights[i]
- Heights je hora s vrcholem I = 2.
Všimněte si, že pro tuto konfiguraci lze i = 3 považovat také za vrchol.
Lze ukázat, že neexistuje žádná jiná krásná konfigurace se součtem výšek větším než 18.

Omezení:

1 <= n == maxHeights <= 10^3
1 <= maxHeights[i] <= 10^9


Je zadáno pole nums s indexy od 0 a celočíselný cíl.
0-indexované pole infinite_nums je generováno nekonečným připojováním prvků nums k sobě samému.
Vraťte délku nejkratšího podpole pole infinite_nums se součtem rovným cíli. Pokud žádné takové podpole neexistuje, vrátí -1.

Příklad 1:

Vstup: nums = [1,2,3], target = 5
Výstup: 2
Vysvětlení: V tomto příkladu infinite_nums = [1,2,3,1,2,3,1,2,...].
Dílčí pole v rozsahu [1,2] má součet roven target = 5 a délku 2.
Lze dokázat, že 2 je nejkratší délka podpole se součtem rovným cíli 5.

Příklad 2:

Vstup: nums = [1,1,1,2,3], target = 4
Výstup: 2
Vysvětlení: V tomto příkladu infinite_nums = [1,1,1,2,3,1,1,1,2,3,1,1,...].
Dílčí pole v rozsahu [4,5] má součet roven cíli 4 a délku 2.
Lze dokázat, že 2 je nejkratší délka podpole se součtem rovným cíli = 4.

Příklad 3:

Vstup: nums = [2,4,6,8], target = 3
Výstup: -1
Vysvětlení: V tomto příkladu infinite_nums = [2,4,6,8,2,4,6,8,...].
Lze dokázat, že neexistuje žádné podpole se součtem rovným cíli = 3.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5
1 <= target <= 10^9

Dostanete nulově indexované pole nums a celé číslo target.
Pole infinite_nums indexované 0 se generuje nekonečným připojováním prvků nums k sobě.
Vrátí délku nejkratšího podseznam pole infinite_nums se součtem rovným target. Pokud takové podpole neexistuje, vrátíte -1.

Příklad 1:

Vstup: nums = [1,2,3], cíl = 5
Výstup: 2
Vysvětlení: V tomto příkladu infinite_nums = [1,2,3,1,2,3,1,2,...].
Dílčí pole v rozsahu [1,2] má součet rovný cíl = 5 a délku = 2.
Lze dokázat, že 2 je nejkratší délka podseznam se součtem rovným 5.

Příklad 2:

Vstup: nums = [1,1,1,2,3], cíl = 4
Výstup: 2
Vysvětlení: V tomto příkladu infinite_nums = [1,1,1,2,3,1,1,1,2,3,1,1,...].
Dílčí pole v rozsahu [4,5] má součet rovný cíl = 4 a délku = 2.
Lze dokázat, že 2 je nejkratší délka podseznam se součtem rovným target = 4.

Příklad 3:

Vstup: nums = [2,4,6,8], cíl = 3
Výstup: -1
Vysvětlení: V tomto příkladu infinite_nums = [2,4,6,8,2,4,6,8,...].
Lze dokázat, že neexistuje žádné podseznam se součtem rovným target = 3.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5
1 <= cíl <= 10^9

Dostanete nulové indexované číslo pole a cíl celé číslo.
Pole infinite_nums indexované 0 se generuje nekonečným připojováním prvků nums k sobě.
Vrátí délku nejkratšího podpole pole infinite_nums se součtem rovným target. Pokud takové podpole neexistuje, vrátí -1.

Příklad 1:

Vstup: nums = [1,2,3], cíl = 5
Výstup: 2
Vysvětlení: V tomto příkladu infinite_nums = [1,2,3,1,2,3,1,2,...].
Dílčí pole v rozsahu [1,2] má součet rovný cíl = 5 a délku = 2.
Lze dokázat, že 2 je nejkratší délka podpole se součtem rovným target = 5.

Příklad 2:

Vstup: nums = [1,1,1,2,3], cíl = 4
Výstup: 2
Vysvětlení: V tomto příkladu infinite_nums = [1,1,1,2,3,1,1,1,2,3,1,1,...].
Dílčí pole v rozsahu [4,5] má součet rovný cíl = 4 a délku = 2.
Lze dokázat, že 2 je nejkratší délka podpole se součtem rovným target = 4.

Příklad 3:

Vstup: nums = [2,4,6,8], cíl = 3
Výstup: -1
Vysvětlení: V tomto příkladu infinite_nums = [2,4,6,8,2,4,6,8,...].
Lze dokázat, že neexistuje žádné podpole se součtem rovným target = 3.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5
1 <= cíl <= 10^9


Dostanete binární řetězec s a kladné celé číslo k.
Podřetězec s je krásný, pokud je v něm počet jedniček přesně k.
Nechť len je délka nejkratšího krásného podřetězce.
Vraťte lexikograficky nejmenší krásný podřetězec řetězců s s délkou rovnou len. Pokud s neobsahuje krásný podřetězec, vraťte prázdný řetězec.
Řetězec a je lexikograficky větší než řetězec b (stejné délky), pokud na první pozici, kde se a a b liší, má a znak striktně větší než odpovídající znak v b.

Například „abcd“ je lexikograficky větší než „abcc“, protože první pozice, na které se liší, je na čtvrtém znaku a d je větší než c.

Příklad 1:

Vstup: s = "100011001", k = 3
Výstup: "11001"
Vysvětlení: V tomto příkladu je 7 krásných podřetězců:
1. Podřetězec "100011001".
2. Podřetězec "100011001".
3. Podřetězec "100011001".
4. Podřetězec "100011001".
5. Podřetězec "100011001".
6. Podřetězec "100011001".
7. Podřetězec "100011001".
Délka nejkratšího krásného podřetězce je 5.
Lexikograficky nejmenší krásný podřetězec o délce 5 je podřetězec "11001".

Příklad 2:

Vstup: s = "1011", k = 2
Výstup: "11"
Vysvětlení: V tomto příkladu jsou 3 krásné podřetězce:
1. Podřetězec "1011".
2. Podřetězec "1011".
3. Podřetězec "1011".
Délka nejkratšího krásného podřetězce je 2.
Lexikograficky nejmenší krásný podřetězec o délce 2 je podřetězec "11".

Příklad 3:

Vstup: s = "000", k = 1
Výstup: ""
Vysvětlení: V tomto příkladu nejsou žádné krásné podřetězce.

Omezení:

1 <= s.length <= 100
1 <= k <= s.length

Dostanete binární řetězec s a kladné celé číslo k.
Podřetězec s je krásný, pokud je v něm počet jedniček přesně k.
Nechť len je délka nejkratšího krásného podřetězce.
Vraťte lexikograficky nejmenší krásný podřetězec řetězců s o délce rovné len. Pokud s neobsahuje krásný podřetězec, vraťte prázdný řetězec.
Řetězec a je lexikograficky větší než řetězec b (stejné délky), pokud na první pozici, kde se a a b liší, má a znak striktně větší než odpovídající znak v b.

Například „abcd“ je lexikograficky větší než „abcc“, protože první pozice, na které se liší, je na čtvrtém znaku a d je větší než c.

Příklad 1:

Vstup: s = "100011001", k = 3
Výstup: "11001"
Vysvětlení: V tomto příkladu je 7 krásných podřetězců:
1. Podřetězec "100011001".
2. Podřetězec "100011001".
3. Podřetězec "100011001".
4. Podřetězec "100011001".
5. Podřetězec "100011001".
6. Podřetězec "100011001".
7. Podřetězec "100011001".
Délka nejkratšího krásného podřetězce je 5.
Lexikograficky nejmenší krásný podřetězec o délce 5 je podřetězec "11001".

Příklad 2:

Vstup: s = "1011", k = 2
Výstup: "11"
Vysvětlení: V tomto příkladu jsou 3 krásné podřetězce:
1. Podřetězec "1011".
2. Podřetězec "1011".
3. Podřetězec "1011".
Délka nejkratšího krásného podřetězce je 2.
Lexikograficky nejmenší krásný podřetězec o délce 2 je podřetězec "11".

Příklad 3:

Vstup: s = "000", k = 1
Výstup: ""
Vysvětlení: V tomto příkladu nejsou žádné krásné podřetězce.

Omezení:

1 <= s.length <= 100
1 <= k <= s.length

Dostanete binární řetězec s a kladné celé číslo k.
Podřetězec s je krásný, pokud je číslo 1 v něm přesně k.
Nechť len je délka nejkratší krásné podřetězec.
Vrátit lexikograficky nejmenší krásný podřetězec řetězce s o délce rovné len. Pokud s neobsahuje krásný podřetězec, Vrátit prázdný řetězec.
Řetězec a je lexikograficky větší než řetězec b (stejné délky), pokud na první pozici, kde se liší a a b, má a znak striktně větší než odpovídající znak v b.

Například "abcd" je lexikograficky větší než "abcc", protože první pozice, na které se liší, je na čtvrtém znaku a d je větší než c.

Příklad 1:

Vstup: s = "100011001", k = 3
Výstup: "11001"
Vysvětlení: V tomto příkladu jsou 7 krásných podřetězců:
1. Podřetězec "100011001".
2. Podřetězec "100011001".
3. Podřetězec "100011001".
4. Podřetězec "100011001".
5. Podřetězec "100011001".
6. Podřetězec "100011001".
7. Podřetězec "100011001".
Délka nejkratšího krásného podřetězce jsou 5.
Lexikograficky nejmenší krásný podřetězec o délce 5 jsou podřetězec "11001".

Příklad 2:

Vstup: s = "1011", k = 2
Výstup: "11"
Vysvětlení: V tomto příkladu jsou 3 krásné podřetězce:
1. Podřetězec "1011".
2. Podřetězec "1011".
3. Podřetězec "1011".
Délka nejkratšího krásného podřetězce je 2.
Lexikograficky nejmenší krásný podřetězec s délkou 2 je podřetězec "11".

Příklad 3:

Vstup: s = "000", k = 1
Výstup: ""
Vysvětlení: V tomto příkladu nejsou žádné krásné podřetězce.

Omezení:

1 <= s.length <= 100
1 <= k <= s.length