Dati su vam celobrojni niz `nums` sa indeksima koji počinju od 0.
Vratite maksimalnu vrednost za sve trojke indeksa \( (i, j, k) \) takve da je \( i < j < k \). Ako sve takve trojke imaju negativnu vrednost, vratite 0.  Вредност Vrednost trojke indeksa \( (i, j, k) \) jednaka je \( (nums[i] - nums[j]) * nums[k] \).

Пример 1:

Улаз: nums = [12,6,1,2,7]
Излаз: 77
Објашњење: Вредност тројке (0, 2, 4) је (nums[0] - nums[2]) * nums[4] = 77.
Може се показати да не постоје уређене тројке индекса са вредношћу већом од 77.

Пример 2:

Улаз: nums = [1,10,3,4,19]
Излаз: 133
Објашњење: Вредност тројке (1, 2, 4) је (nums[1] - nums[2]) * nums[4] = 133.
Може се показати да не постоје уређене тројке индекса са вредношћу већом од 133.

Пример 3:

Улаз: nums = [1,2,3]
Izlaz: `0`
Objašnjenje: Jedina uređena trojka indeksa \( (0, 1, 2) \) ima negativnu vrednost \( (nums[0] - nums[1]) * nums[2] = -3 \). Dakle, rezultat bi bio 0.

Ограничења:

3 <= nums.length <= 100
1 <= nums[i] <= 10^6

Дат вам је низ бројева индексираних целих бројева са 0.
Врати максималну вредност за све триплете indices (i, j, k) тако да је i < j < k. Ако све такве тројке имају негативну вредност, вратите 0.
Вредност триплета indices (i, j, k) је једнака (nums[i] - nums[j]) * nums[k].

Пример 1:

Улаз: nums = [12,6,1,2,7]
Излаз: 77
Објашњење: Вредност triplet (0, 2, 4) је (nums[0] - nums[2]) * nums[4] = 77.
Може се показати да не постоје уређени триплети индекса са вредношћу већом од 77.

Пример 2:

Улаз: nums = [1,10,3,4,19]
Излаз: 133
Објашњење: Вредност triplet (1, 2, 4) је (nums[1] - nums[2]) * nums[4] = 133.
Може се показати да не постоје уређени триплети индекса са вредношћу већом од 133.

Пример 3:

Улаз: nums = [1,2,3]
Излаз: 0
Објашњење: Једини уређени триплет indices (0, 1, 2) има негативну вредност (nums[0] - nums[1]) * nums[2] = -3. Дакле, одговор би био 0.

Ограничења:

3 <= nums.length <= 100
1 <= nums[i] <= 10^6

Дат вам је низ целих бројева nums са индексом почевши од 0.
Вратите максималну вредност за све тројке индекса (i, j, k) такве да је i < j < k. Уколико све такве тројке имају негативну вредност, вратите 0.
Вредност тројке индекса (i, j, k) је једнака (nums[i] - nums[j]) * nums[k].

Пример 1:

Улаз: nums = [12,6,1,2,7]
Излаз: 77
Објашњење: Вредност тројке (0, 2, 4) је (nums[0] - nums[2]) * nums[4] = 77.
Може се показати да не постоје уређене тројке индекса са вредношћу већом од 77.

Пример 2:

Улаз: nums = [1,10,3,4,19]
Излаз: 133
Објашњење: Вредност тројке (1, 2, 4) је (nums[1] - nums[2]) * nums[4] = 133.
Може се показати да не постоје уређене тројке индекса са вредношћу већом од 133.

Пример 3:

Улаз: nums = [1,2,3]
Излаз: 0
Објашњење: Једина уређена тројка индекса (0, 1, 2) има негативну вредност (nums[0] - nums[1]) * nums[2] = -3. Стога, одговор би био 0.

Ограничења:

3 <= nums.length <= 100
1 <= nums[i] <= 10^6


Дати су вам 0-индексиран низ целих бројева nums.
Дистинктни број поднизова низа nums дефинисан је као:

Нека nums[i..j] буде подниз низа nums који се састоји од свих индекса од i до j, тако да 0 <= i <= j < nums.length. Тада број различитих вредности у nums[i..j] се назива дистинктним бројем nums[i..j].

Вратите суму квадрата дистинктних бројева свих поднизова низа nums.
Подниз је континуирана, не-празна секвенца елемената унутар низа.

Пример 1:

Улаз: nums = [1,2,1]
Излаз: 15
Објашњење: Шест могућих поднизова су:
[1]: 1 различита вредност
[2]: 1 различита вредност
[1]: 1 различита вредност
[1,2]: 2 различите вредности
[2,1]: 2 различите вредности
[1,2,1]: 2 различите вредности
Збир квадрата броја различитих елемената у свим поднизовима једнак је 1^2 + 1^2 + 1^2 + 2^2 + 2^2 + 2^2 = 15.

Пример 2:

Улаз: nums = [1,1]
Излаз: 3
Објашњење: Три могућа подниза су:
[1]: 1 различита вредност
[1]: 1 различита вредност
[1,1]: 1 различита вредност
Збир квадрата броја различитих елемената у свим поднизовима једнак је 1^2 + 1^2 + 1^2 = 3.

Ограничења:

1 <= nums.length <= 100
1 <= nums[i] <= 100

Дат вам је низ бројева индексираних целих бројева са 0.
Различити број подниза бројева је дефинисан као:

Нека је нумс[i..j]  подниз бројева који се састоји од свих индекса од i до ј тако да је 0 <= i <= j < nums.length. Тада се број различитих вредности у nums[i..j] назива број различитих вредности nums[i..j].

Врати збир квадрата бројева различитих вредности свих подниза низа nums.
Подниз је непрекидан непразан низ елемената унутар низа.

Пример 1:

Улаз: nums = [1,2,1]
Излаз: 15
Објашњење: Шест могућих поднизова су:
[1]: 1 различита вредност
[2]: 1 различита вредност
[1]: 1 различита вредност
[1,2]: 2 различите вредности
[2,1]: 2 различите вредности
[1,2,1]: 2 различите вредности
Збир квадрата различитих бројача у свим поднизовима је једнак 1^2 + 1^2 + 1^2 + 2^2 + 2^2 + 2^2 = 15.

Пример 2:

Улаз: nums = [1,1]
Излаз: 3
Објашњење: Три могућа подниза су:
[1]: 1 различита вредност
[1]: 1 различита вредност
[1,1]: 1 различита вредност
Збир квадрата различитих бројача у свим поднизовима је једнак 1^2 + 1^2 + 1^2 = 3.

Ограничења:

1 <= nums.length <= 100
1 <= nums[i] <= 100

Дат вам је низ целих бројева nums с индексима од 0.
Број различитих елемената у поднизовима nums дефинисан је као:

Нека је nums[i..j] подниз nums који се састоји од свих индекса од i до j тако да је 0 <= i <= j < nums.length. Тада је број различитих вредности у nums[i..j] број различитих елемената nums[i..j].

Вратите збир квадрата броја различитих елемената свих поднизова nums.
Подниз је континуалан, непразан низ елемената унутар низа.

Пример 1:

Унос: nums = [1,2,1]
Излаз: 15
Објашњење: Шест могућих поднизова су:
[1]: 1 различита вредност
[2]: 1 различита вредност
[1]: 1 различита вредност
[1,2]: 2 различите вредности
[2,1]: 2 различите вредности
[1,2,1]: 2 различите вредности
Збир квадрата броја различитих елемената у свим поднизовима једнак је 1^2 + 1^2 + 1^2 + 2^2 + 2^2 + 2^2 = 15.

Пример 2:

Унос: nums = [1,1]
Излаз: 3
Објашњење: Три могућа подниза су:
[1]: 1 различита вредност
[1]: 1 различита вредност
[1,1]: 1 различита вредност
Збир квадрата броја различитих елемената у свим поднизовима једнак је 1^2 + 1^2 + 1^2 = 3.

Ограничења:

1 <= nums.length <= 100
1 <= nums[i] <= 100


Zadat je niz stringova reči gde je reč words[i] ili pozitivan ceo broj predstavljen kao string ili string "prev".
Počnite da iterirate od početka niza; za svaki string "prev" koji se nađe u words, pronađite poslednji poseteni broj u words, koji se definiše na sledeći način:

Neka je k broj uzastopnih stringova "prev" koji su se pojavili do sada (uključujući trenutni string). Neka nums bude niz celih brojeva koji su se pojavili do sada, a nums_reverse bude obrnuti niz od nums. Tada će ceo broj na (k - 1)-om indeksu u nums_reverse biti poslednji poseteni broj za ovaj "prev".
Ako je k veće od ukupnog broja posetjenih brojeva, poslednji poseteni broj će biti -1.

Vratite niz celih brojeva koji sadrži poslednje posetene brojeve.

Primer 1:

Ulaz: words = ["1", "2", "prev", "prev", "prev"]
Izlaz: [2, 1, -1]
Objašnjenje:
Za "prev" na indeksu = 2, poslednji poseteni broj biće 2, jer ovde broj uzastopnih "prev" stringova iznosi 1, a u obrnutom nizu `nums`, 2 će biti prvi element.
Za "prev" na indeksu = 3, poslednji poseteni broj biće 1, jer postoji ukupno dva uzastopna "prev" stringa, uključujući ovaj "prev", i 1 je drugi poslednji poseteni broj.
Za "prev" na indeksu = 4, poslednji poseteni broj biće -1, jer postoji ukupno tri uzastopna "prev" stringa, uključujući ovaj "prev", ali ukupno ima samo dva posetena broja.

Primer 2:

Ulaz: words = ["1", "prev", "2", "prev", "prev"]
Izlaz: [1, 2, 1]
Objašnjenje:
Za "prev" na indeksu = 1, poslednji poseteni broj biće 1.
Za "prev" na indeksu = 3, poslednji poseteni broj biće 2.
Za "prev" na indeksu = 4, poslednji poseteni broj biće 1, jer postoji ukupno dva uzastopna "prev" stringa, uključujući ovaj "prev", i 1 je drugi poslednji poseteni broj.

Ograničenja:

1 <= words.length <= 100
words[i] == "prev" ili 1 <= int(words[i]) <= 100

Дат вам је низ са индексима од 0 који се састоји од низова речи, где је words[i] или позитиван целобројни број представљен као низ или низ "prev".
Почните да итерирате од почетка низа; за сваки низ "prev" који се појави у words, пронађите последњи посећени број у words, који је дефинисан на следећи начин:

Нека је k број узастопних стрингова "prev" виђених до сад (укључујући и тренутни стринг). Нека је nums низ целих бројева са индексима почевши од 0 виђених до сада, а nums_reverse инверзни низ од nums, тада ће цео број на (k - 1)^том индексу низа nums_reverse бити последњи посећен цео број за овај "prev".
Ако је k већи од укупног броја посећених целих бројева, онда ће последњи посећен цео број бити -1.

Вратите низ целих бројева који садржи последње посећене целе бројеве.

Пример 1:

Улаз: words = ["1","2","prev","prev","prev"]
Излаз: [2,1,-1]
Објашњење:
За "prev" на индексу = 2, последњи посећен цео број ће бити 2 јер је овде број узастопних стрингова "prev" 1, а у низу reverse_nums, 2 ће бити први елемент.
За "prev" на индексу = 3, последњи посећен цео број ће бити 1 јер постоје укупно два узастопна стринга "prev" са овим "prev" који су посећени, а 1 је други последњи посећени цео број.
За "prev" на индексу = 4, последњи посећен цео број ће бити -1 јер постоје укупно три узастопна стринга "prev" са овим "prev" који су посећени, али укупни број целих бројева који су посећени је два.

Пример 2:

Улаз: words = ["1","prev","2","prev","prev"]
Излаз: [1,2,1]
Објашњење:
За "prev" на индексу = 1, последњи посећен цео број ће бити 1.
За "prev" на индексу = 3, последњи посећен цео број ће бити 2.
За "prev" на индексу = 4, последњи посећен цео број ће бити 1 јер постоје укупно два узастопна стринга "prev" са овим "prev" који су посећени, а 1 је други последњи посећени цео број.

Ограничења:

1 <= words.length <= 100
words[i] == "prev" или 1 <= int(words[i]) <= 100

Дат је низ стрингова words, индексиран од 0, где је  words[i] или позитиван цео број представљен као стринг или стринг "prev".
Започните итерацију од почетка низа. За сваки стринг „prev“ у words, пронађите последњи посећен цео број у words који је дефинисан на следећи начин:

Нека је k број узастопних стрингова "prev" виђених до сад (укључујући и тренутни стринг). Нека је nums низ целих бројева са индексима почевши од 0 виђених до сада, а nums_reverse инверзни низ од nums, тада ће цео број на (k - 1)^том индексу низа nums_reverse бити последњи посећен цео број за овај "prev".
Ако је k већи од укупног броја посећених целих бројева, онда ће последњи посећен цео број бити -1.

Вратите низ целих бројева који садржи последње посећене целе бројеве.

Пример 1:

Улаз: words = ["1","2","prev","prev","prev"]
Излаз: [2,1,-1]
Објашњење:
За "prev" на индексу = 2, последњи посећен цео број ће бити 2 јер је овде број узастопних стрингова "prev" 1, а у низу reverse_nums, 2 ће бити први елемент.
За "prev" на индексу = 3, последњи посећен цео број ће бити 1 јер постоје укупно два узастопна стринга "prev" са овим "prev" који су посећени, а 1 је други последњи посећени цео број.
За "prev" на индексу = 4, последњи посећен цео број ће бити -1 јер постоје укупно три узастопна стринга "prev" са овим "prev" који су посећени, али укупни број целих бројева који су посећени је два.

Пример 2:

Улаз: words = ["1","prev","2","prev","prev"]
Излаз: [1,2,1]
Објашњење:
За "prev" на индексу = 1, последњи посећен цео број ће бити 1.
За "prev" на индексу = 3, последњи посећен цео број ће бити 2.
За „prev“ на индексу = 4, последњи посећени цео број биће 1, јер постоје укупно два узастопна низа „prev“, укључујући овај „prev“, који су посећени, а 1 је претпоследњи посећени цео број.

Ограничења:

1 <= words.length <= 100
words[i] == "prev" или 1 <= int(words[i]) <= 100


Дат је низ целих бројева nums са нумерацијом почев од нуле и дужине n.
Желимо да групишемо индексе тако да за сваки индекс i у опсегу [0, n - 1], буде додељен тачно једној групи.
Групна асигнација је важећа ако су испуњени следећи услови:

За сваку групу g, сви индекси i додељени групи g имају исту вредност у nums.
За било које две групе g_1 и g_2, разлика између броја индекса додељених g_1 и g_2 не би требало да прелази 1.

Вратите цео број који означава минималан број група потребан да се направи важећа групна асигнација.

Пример 1:

Улаз: nums = [3,2,3,2,3]
Излаз: 2
Објашњење: Један начин да индекси буду додељени у 2 групе је следећи, где су вредности у угластим заградама индекси:
група 1 -> [0,2,4]
група 2 -> [1,3]
Сви индекси су додељени једној групи.
У групи 1, nums[0] == nums[2] == nums[4], тако да сви индекси имају исту вредност.
У групи 2, nums[1] == nums[3], тако да сви индекси имају исту вредност.
Број индекса додељених групи 1 је 3, а број индекса додељених групи 2 је 2.
Њихова разлика не прелази 1.
Није могуће користити мање од 2 групе јер, да би се користила само 1 група, сви индекси додељени тој групи морају имати исту вредност.
Дакле, одговор је 2.
Пример 2:

Улаз: nums = [10,10,10,3,1,1]
Излаз: 4
Објашњење: Један начин да индекси буду додељени у 4 групе је следећи, где су вредности у угластим заградама индекси:
група 1 -> [0]
група 2 -> [1,2]
група 3 -> [3]
група 4 -> [4,5]
Групна асигнација изнад задовољава оба услова.
Може се показати да није могуће направити важећу асигнацију са мање од 4 групе.
Дакле, одговор је 4.

Ограничења:

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

Дат је низ целих бројева nums са нумерацијом почев од нуле и дужине n.
Желимо да групишемо индексе тако да за сваки индекс i у опсегу [0, n - 1], буде додељен тачно једној групи.
Групна асигнација је важећа ако су испуњени следећи услови:

За сваку групу g, сви индекси i додељени групи g имају исту вредност у nums.
За било које две групе g_1 и g_2, разлика између броја индекса додељених g_1 и g_2 не би требало да прелази 1.

Вратите цео број који означава минималан број група потребан да се направи важећа групна асигнација.

Пример 1:

Улаз: nums = [3,2,3,2,3]
Излаз: 2
Објашњење: Један начин да индекси буду додељени у 2 групе је следећи, где су вредности у угластим заградама индекси:
група 1 -> [0,2,4]
група 2 -> [1,3]
Сви индекси су додељени једној групи.
У групи 1, nums[0] == nums[2] == nums[4], тако да сви индекси имају исту вредност.
У групи 2, nums[1] == nums[3], тако да сви индекси имају исту вредност.
Број индекса додељених групи 1 је 3, а број индекса додељених групи 2 је 2.
Њихова разлика не прелази 1.
Није могуће користити мање од 2 групе јер, да би се користила само 1 група, сви индекси додељени тој групи морају имати исту вредност.
Дакле, одговор је 2.
Пример 2:

Улаз: nums = [10,10,10,3,1,1]
Излаз: 4
Објашњење: Један начин да индекси буду додељени у 4 групе је следећи, где су вредности у угластим заградама индекси:
група 1 -> [0]
група 2 -> [1,2]
група 3 -> [3]
група 4 -> [4,5]
Групна асигнација изнад задовољава оба услова.
Може се показати да није могуће направити важећу асигнацију са мање од 4 групе.
Дакле, одговор је 4.

Ograničenja:Ograničenja:
Ograničenja:

- \(1 \leq nums.length \leq 10^5\)
- \(1 \leq nums[i] \leq 10^9\)

Дат вам је целобројни низ nums дужине n индексиран од 0.
Желимо да групишемо индексе тако да сваки индекс i у опсегу [0, n - 1] буде додељен тачно једној групи.
Групна асигнација је важећа ако су испуњени следећи услови:

За сваку групу g, сви индекси i додељени групи g имају исту вредност у nums.
За било које две групе g_1 и g_2, разлика између броја индекса додељених g_1 и g_2 не би требало да прелази 1.

Вратите цео број који означава минималан број група потребан да се направи важећа групна асигнација.

Пример 1:

Улаз: nums = [3,2,3,2,3]
Излаз: 2
Објашњење: Један начин да индекси буду додељени у 2 групе је следећи, где су вредности у угластим заградама индекси:
група 1 -> [0,2,4]
група 2 -> [1,3]
Сви индекси су додељени једној групи.
У групи 1, nums[0] == nums[2] == nums[4], тако да сви индекси имају исту вредност.
У групи 2, nums[1] == nums[3], тако да сви индекси имају исту вредност.
Број индекса додељених групи 1 је 3, а број индекса додељених групи 2 је 2.
Њихова разлика не прелази 1.
Није могуће користити мање од 2 групе јер, да би се користила само 1 група, сви индекси додељени тој групи морају имати исту вредност.
Дакле, одговор је 2.
Пример 2:

Улаз: nums = [10,10,10,3,1,1]
Излаз: 4
Објашњење: Један начин да индекси буду додељени у 4 групе је следећи, где су вредности у угластим заградама индекси:
група 1 -> [0]
група 2 -> [1,2]
група 3 -> [3]
група 4 -> [4,5]
Групна асигнација изнад задовољава оба услова.
Може се показати да није могуће направити важећу асигнацију са мање од 4 групе.
Дакле, одговор је 4.

Ограничења:

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


Дате су вам два низа nums1 и nums2 који се састоје од позитивних целих бројева.
Морате да замените све 0 у оба низа са стриктно позитивним целим бројевима тако да збир елемената оба низа постане једнак.
Вратите минималну једнаку суму коју можете добити, или -1 ако је то немогуће.

Пример 1:

Улаз: nums1 = [3,2,0,1,0], nums2 = [6,5,0]
Излаз: 12
Објашњење: 0 можемо заменити на следећи начин:
- Замените две нуле у нумс1 вредностима 2 и 4. Добијени низ је nums1 = [3,2,2,1,4].
- Замените 0 у нумс2 вредношћу 1. Добијени низ је nums2 = [6,5,1].
Оба низа имају једнак збир 12. Може се показати да је то најмањи збир који можемо добити.

Пример 2:

Улаз: nums1 = [2,0,2,0], nums2 = [1,4]
Излаз: -1
Објашњење: Немогуће је учинити збир оба низа једнаким.

Ограничења:

1 <= nums1.length, nums2.length <= 10^5
0 <= nums1[i], nums2[i] <= 10^6

Дата су вам два низа nums1 и nums2 који се састоје од позитивних целих бројева.
Морате заменити све 0 у оба низа строго позитивним целим бројевима тако да збир елемената оба низа постане једнак.
Вратите минималан једнак збир који можете добити, или -1 ако то није могуће.

Пример 1:

Улаз: nums1 = [3,2,0,1,0], nums2 = [6,5,0]
Излаз: 12
Објашњење: Можемо заменити 0 у следећи начин:
- Замените два 0 у nums1 са вредностима 2 и 4. Резултујући низ је nums1 = [3,2,2,1,4].
- Замените 0 у nums2 са вредношћу 1. Резултујући низ је nums2 = [6,5,1].
Оба низа имају једнаку суму 12. Може се показати да је то минимална сума коју можемо добити.

Пример 2:

Улаз: nums1 = [2,0,2,0], nums2 = [1,4]
Излаз: -1
Објашњење: Немогуће је учинити суму оба низа једнаком.

Ограничења:

1 <= nums1.length, nums2.length <= 10^5
0 <= nums1[i], nums2[i] <= 10^6

Дата су вам два низа nums1 и nums2 који се састоје од позитивних целих бројева.
Морате заменити све нуле у оба низа строго позитивним целим бројевима тако да збир елемената оба низа постане једнак.
Вратите минималан једнак збир који можете добити, или -1 ако је то немогуће.

Пример 1:

Улаз: nums1 = [3,2,0,1,0], nums2 = [6,5,0]
Излаз: 12
Објашњење: Можемо заменити 0 у следећи начин:
- Замените два 0 у nums1 са вредностима 2 и 4. Резултујући низ је nums1 = [3,2,2,1,4].
- Замените 0 у nums2 са вредношћу 1. Резултујући низ је nums2 = [6,5,1].
Оба низа имају једнаку суму 12. Може се показати да је то минимална сума коју можемо добити.

Пример 2:

Улаз: nums1 = [2,0,2,0], nums2 = [1,4]
Излаз: -1
Објашњење: Немогуће је учинити суму оба низа једнаком.

Ограничења:

1 <= nums1.length, nums2.length <= 10^5
0 <= nums1[i], nums2[i] <= 10^6


Дата су позитивни цели бројеви n и m.
Дефиниши два цела броја, num1 и num2, на следећи начин:

num1: Збир свих целих бројева у опсегу [1, n] који нису дељиви са m.
num2: Збир свих целих бројева у опсегу [1, n] који су дељиви са m.

Врати цео број num1 - num2.

Пример 1:

Улаз: n = 10, m = 3
Излаз: 19
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 10] који нису дељиви са 3 су [1,2,4,5,7,8,10], num1 је збир тих бројева = 37.
- Цели бројеви у опсегу [1, 10] који су дељиви са 3 су [3,6,9], num2 је збир тих бројева = 18.
Враћамо 37 - 18 = 19 као одговор.

Пример 2:

Улаз: n = 5, m = 6
Излаз: 15
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 5] који нису дељиви са 6 су [1,2,3,4,5], num1 је збир тих бројева = 15.
- Цели бројеви у опсегу [1, 5] који су дељиви са 6 су [], num2 је збир тих бројева = 0.
Враћамо 15 - 0 = 15 као одговор.

Пример 3:

Улаз: n = 5, m = 1
Излаз: -15
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 5] који нису дељиви са 1 су [], num1 је збир тих бројева = 0.
- Цели бројеви у опсегу [1, 5] који су дељиви са 1 су [1,2,3,4,5], num2 је збир тих бројева = 15.
Враћамо 0 - 15 = -15 као одговор.

Ограничења:

1 <= n, m <= 1000

Дати су вам позитивни цели бројеви n и m.
Дефинишите два цела броја, num1 и num2, на следећи начин:

num1: Збир свих целих бројева у опсегу [1, n] који нису делљиви са m.
num2: Збир свих целих бројева у опсегу [1, n] који су делљиви са m.

Вратите цели број num1 - num2.

Пример 1:

Улаз: n = 10, m = 3
Излаз: 19
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 10] који нису дељиви са 3 су [1,2,4,5,7,8,10], num1 је збир тих бројева = 37.
- Цели бројеви у опсегу [1, 10] који су дељиви са 3 су [3,6,9], num2 је збир тих бројева = 18.
Враћамо 37 - 18 = 19 као одговор.

Пример 2:

Улаз: n = 5, m = 6
Излаз: 15
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 5] који нису дељиви са 6 су [1,2,3,4,5], num1 је збир тих бројева = 15.
- Цели бројеви у опсегу [1, 5] који су дељиви са 6 су [], num2 је збир тих бројева = 0.
Враћамо 15 - 0 = 15 као одговор.

Пример 3:

Улаз: n = 5, m = 1
Излаз: -15
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 5] који нису дељиви са 1 су [], num1 је збир тих бројева = 0.
- Цели бројеви у опсегу [1, 5] који су дељиви са 1 су [1,2,3,4,5], num2 је збир тих бројева = 15.
Враћамо 0 - 15 = -15 као одговор.

Ограничења:

1 <= n, m <= 1000

Дата су позитивни цели бројеви n и m.
Дефиниши два цела броја, num1 и num2, на следећи начин:

num1: Збир свих целих бројева у опсегу [1, n] који нису дељиви са m.
num2: Збир свих целих бројева у опсегу [1, n] који су дељиви са m.

Врати цео број num1 - num2.

Пример 1:

Улаз: n = 10, m = 3
Излаз: 19
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 10] који нису дељиви са 3 су [1,2,4,5,7,8,10], num1 је збир тих целих бројева = 37.
- Цели бројеви у опсегу [1, 10] који су дељиви са 3 су [3,6,9], num2 је збир тих целих бројева = 18.
Као одговор враћамо 37 - 18 = 19.

Пример 2:

Улаз: n = 5, m = 6
Излаз: 15
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 5] који нису дељиви са 6 су [1,2,3,4,5], num1 је збир тих целих бројева = 15.
- Цели бројеви у опсегу [1, 5] који су дељиви са 6 су [], num2 је збир тих целих бројева = 0.
Као одговор враћамо 15 - 0 = 15.

Пример 3:

Улаз: n = 5, m = 1
Излаз: -15
Објашњење: У датом примеру:
- Цели бројеви у опсегу [1, 5] који нису дељиви са 1 су [], num1 је збир тих целих бројева = 0.
- Цели бројеви у опсегу [1, 5] који су дељиви са 1 су [1,2,3,4,5], num2 је збир тих целих бројева = 15.
Као одговор враћамо 0 - 15 = -15.

Ограничења:

1 <= n, m <= 1000


Дат је бинарни стринг `s` индексиран са 0, који има парну дужину. Стринг је леп ако је могуће поделити га на један или више подстрингова тако да:

Свaki подстринг има парну дужину.
Свaki подстринг садржи само `1` или само `0`.

Можете променити било који знак у `s` у `0` или `1`.
Вратите минималан број промена којe се захтевају да стринг `s` постане леп.

Пример 1:

Улаз: s = "1001"
Излаз: 2
Објашњење: Променимо `s[1]` у `1` и `s[3]` у `0` да добијемо стринг "1100".
Може се видети да је стринг "1100" леп јер можемо га поделити на "11|00".
Може се доказати да су 2 минималне промене потребне да стринг постане леп.

Пример 2:

Улаз: s = "10"
Излаз: 1
Објашњење: Променимо `s[1]` у `1` да добијемо стринг "11".
Може се видети да је стринг "11" леп јер можемо га поделити на "11".
Може се доказати да је 1 минимална промена потребна да стринг постане леп.

Пример 3:

Улаз: s = "0000"
Излаз: 0
Објашњење: Не треба да направимо ниједну промену јер је стринг "0000" већ леп.

Ограничења:

2 <= s.length <= 10^5
`s` има парну дужину.
s[i] је или '0' или '1'.

Дата је бинарна ниска `s` индексирна са 0, која има парну дужину. Ниска је лепа ако ју је могуће поделити на једна или више поднисака тако да:

Свakа подниска има парну дужину.
Свakа подниска садржи само `1` или само `0`.

Можете променити било који знак у `s` у `0` или `1`.
Вратите минималан број промена којe се захтевају да ниска `s` постане лепа.

Пример 1:

Улаз: s = "1001"
Излаз: 2
Објашњење: Променимо `s[1]` у `1` и `s[3]` у `0` да добијемо стринг "1100".
Може се видети да је ниска "1100" лепа јер можемо је поделити на "11|00".
Може се доказати да су 2 минималне промене потребне да ниска постане лепа.

Пример 2:

Улаз: s = "10"
Излаз: 1
Објашњење: Променимо `s[1]` у `1` да добијемо ниску "11".
Може се видети да је ниска "11" лепа јер можемо је поделити на "11".
Може се доказати да је 1 минимална промена потребна да ниска постане лепа.

Пример 3:

Улаз: s = "0000"
Излаз: 0
Објашњење: Не треба да направимо ниједну промену јер је ниска "0000" већ лепа.

Ограничења:

2 <= s.length <= 10^5
s has an even length.
s[i] is either '0' or '1'.

Дат вам је бинарни низ с дужином која је парна. Низ је леп ако је могуће подијелити га на један или више поднизова тако да:

Свaki подстринг има парну дужину.
Свaki подстринг садржи само `1` или само `0`.

Можете променити било који знак у `s` у `0` или `1`.
Вратите минималан број промена којe се захтевају да стринг `s` постане леп.

Пример 1:

Улаз: s = "1001"
Излаз: 2
Објашњење: Променимо `s[1]` у `1` и `s[3]` у `0` да добијемо стринг "1100".
Може се видети да је стринг "1100" леп јер можемо га поделити на "11|00".
Може се доказати да су 2 минималне промене потребне да стринг постане леп.

Пример 2:

Улаз: s = "10"
Излаз: 1
Објашњење: Променимо `s[1]` у `1` да добијемо стринг "11".
Може се видети да је стринг "11" леп јер можемо га поделити на "11".
Може се доказати да је 1 минимална промена потребна да стринг постане леп.

Пример 3:

Улаз: s = "0000"
Излаз: 0
Објашњење: Не треба да направимо ниједну промену јер је стринг "0000" већ леп.

Ограничења:

2 <= s.length <= 10^5
`s` има парну дужину.
s[i] је или '0' или '1'.


Дат вам је низ целих бројева nums са индексима од 0.

Тројка индекса (i, j, k) представља планину ако је:

i < j < k
nums[i] < nums[j] и nums[k] < nums[j]

Вратите минимално могући збир тројке планине из nums. Ако таква тројка не постоји, вратите -1.

Пример 1:

Улаз: nums = [8,6,1,5,3]
Излаз: 9
Објашњење: Тројка (2, 3, 4) је тројка планине са збиром 9 јер:
- 2 < 3 < 4
- nums[2] < nums[3] и nums[4] < nums[3]
И збир ове тројке је nums[2] + nums[3] + nums[4] = 9. Може се показати да нема тројке планине са збиром мањим од 9.

Пример 2:

Улаз: nums = [5,4,8,7,10,2]
Излаз: 13
Објашњење: Тројка (1, 3, 5) је тројка планине са збиром 13 јер:
- 1 < 3 < 5
- nums[1] < nums[3] и nums[5] < nums[3]
И збир ове тројке је nums[1] + nums[3] + nums[5] = 13. Може се показати да нема тројке планине са збиром мањим од 13.

Пример 3:

Улаз: nums = [6,5,4,3,4,5]
Излаз: -1
Објашњење: Може се показати да нема тројки планине у nums.

Ограничења:

3 <= nums.length <= 50
1 <= nums[i] <= 50

Дат вам је низ целих бројева индексиран са 0.
Тројка индекса (i, j, k) је планина ако:

i < j < k
nums[i] < nums[j] и nums[k] < nums[j]

Врати најмањи могући збир планинске тројке бројева. Ако такав триплет не постоји, вратите -1.

Пример 1:

Улаз: nums = [8,6,1,5,3]
Излаз: 9
Објашњење: Тројка (2, 3, 4) је тројка планине са збиром 9 јер:
- 2 < 3 < 4
- nums[2] < nums[3] и nums[4] < nums[3]
И збир ове тројке је nums[2] + nums[3] + nums[4] = 9. Може се показати да нема тројке планине са збиром мањим од 9.

Пример 2:

Улаз: nums = [5,4,8,7,10,2]
Излаз: 13
Објашњење: Тројка (1, 3, 5) је планинска тројка од збира 13 пошто:
- 1 < 3 < 5
- nums[1] < nums[3] и nums[5] < nums[3]
И збир ове тројке је nums[1] + nums[3] + nums[5] = 13. Може се показати да нема тројке планине са збиром мањим од 13.

Пример 3:

Улаз: nums = [6,5,4,3,4,5]
Излаз: -1
Објашњење: Може се показати да у бројевима нема планинских тројки.

Ограничења:

3 <= nums.length <= 50
1 <= nums[i] <= 50

Дат вам је низ целих бројева nums са индексима од 0.

Тројка индекса (i, j, k) представља планину ако је:

i < j < k
nums[i] < nums[j] и nums[k] < nums[j]

Вратите минимум могућег збира планинског трилета низа \( \text{nums} \). Ако такав трилети не постоји, вратите -1.

Пример 1:

Улаз: nums = [8,6,1,5,3]
Излаз: 9
Објашњење: Тројка (2, 3, 4) је тројка планине са збиром 9 јер:
- 2 < 3 < 4
- nums[2] < nums[3] и nums[4] < nums[3]
И збир ове тројке је nums[2] + nums[3] + nums[4] = 9. Може се показати да нема тројке планине са збиром мањим од 9.

Пример 2:

Улаз: nums = [5,4,8,7,10,2]
Излаз: 13
Објашњење: Тројка (1, 3, 5) је тројка планине са збиром 13 јер:
- 1 < 3 < 5
- nums[1] < nums[3] и nums[5] < nums[3]
И збир ове тројке је nums[1] + nums[3] + nums[5] = 13. Може се показати да нема тројке планине са збиром мањим од 13.

Пример 3:

Улаз: nums = [6,5,4,3,4,5]
Излаз: -1
Објашњење: Може се показати да нема тројки планине у nums.

Ограничења:

3 <= nums.length <= 50
1 <= nums[i] <= 50


Дат вам је низ целих бројева nums индексиран од 0, и цели број k.
K-or од низа **nums** је немак негативан број који задовољава следеће:

i-ти бит је постављен у K-or ако и само ако постоји најмање k елемената из nums у којима је i-ти бит постављен.

Вратите K-or од низа nums.
Запазите да је бит i постављен у `x` ако је `(2^i AND x) == 2^i`, где је AND битовски AND оператор.

Пример 1:

Улаз: nums = [7,12,9,8,9,15], k = 4
Излаз: 9
Објашњење: Бит 0 је постављен у nums[0], nums[2], nums[4], и nums[5].
Бит 1 је постављен у nums[0], и nums[5].
Бит 2 је постављен у nums[0], nums[1], и nums[5].
Бит 3 је постављен у nums[1], nums[2], nums[3], nums[4], и nums[5].
Само битови 0 и 3 су постављени у најмање `k` елемената низа, и битови i >= 4 нису постављени у било ком елементу низа. Стога, одговор је 2^0 + 2^3 = 9.

Пример 2:

Улаз: nums = [2,12,1,11,4,5], k = 6
Излаз: 0
Објашњење: Пошто је k == 6 == nums.length, 6-or низа је једнак битовском AND свих његових елемената. Стога, одговор је 2 AND 12 AND 1 AND 11 AND 4 AND 5 = 0.

Пример 3:

Улаз: nums = [10,8,5,9,11,6,8], k = 1
Излаз: 15
Објашњење: Пошто је k == 1, 1-or низа је једнак битовском OR свих његових елемената. Стога, одговор је 10 OR 8 OR 5 OR 9 OR 11 OR 6 OR 8 = 15.

Ограничења:

1 <= nums.length <= 50
0 <= nums[i] < 2^31
1 <= k <= nums.length

Дат вам је нумерисан низ целих бројева `nums`, и цео број `k`.
K-or од `nums` је не-негативан цео број који задовољава следеће:

i-ти бит је постављен у K-or ако и само ако постоји најмање `k` елемената из `nums` у којима је бит i постављен.

Вратите K-or од `nums`.
Запазите да је бит i постављен у `x` ако је `(2^i AND x) == 2^i`, где је AND битовски AND оператор.

Пример 1:

Улаз: nums = [7,12,9,8,9,15], k = 4
Излаз: 9
Објашњење: Бит 0 је постављен у nums[0], nums[2], nums[4], и nums[5].
Бит 1 је постављен у nums[0], и nums[5].
Бит 2 је постављен у nums[0], nums[1], и nums[5].
Бит 3 је постављен у nums[1], nums[2], nums[3], nums[4], и nums[5].
Само битови 0 и 3 су постављени у најмање `k` елемената низа, и битови i >= 4 нису постављени у било ком елементу низа. Стога, одговор је 2^0 + 2^3 = 9.

Пример 2:

Улаз: nums = [2,12,1,11,4,5], k = 6
Излаз: 0
Објашњење: Пошто је k == 6 == nums.length, 6-or низа је једнак битовском AND свих његових елемената. Стога, одговор је 2 AND 12 AND 1 AND 11 AND 4 AND 5 = 0.

Пример 3:

Улаз: nums = [10,8,5,9,11,6,8], k = 1
Излаз: 15
Објашњење: Пошто је k == 1, 1-or низа је једнак битовском OR свих његових елемената. Стога, одговор је 10 OR 8 OR 5 OR 9 OR 11 OR 6 OR 8 = 15.

Ограничења:

1 <= nums.length <= 50
0 <= nums[i] < 2^31
1 <= k <= nums.length

Дат вам је нумерисан низ целих бројева nums, и цео број k.
K-or од nums је не-негативан цео број који задовољава следеће:

i-ти бит је постављен у K-or ако и само ако постоји најмање k елемената из nums у којима је бит i постављен.

Вратите K-or од nums.
Запазите да је бит i постављен у x ако је (2^i AND x) == 2^i, где је AND битовски AND оператор.

Пример 1:

Улаз: nums = [7,12,9,8,9,15], k = 4
Излаз: 9
Објашњење: Бит 0 је постављен у nums[0], nums[2], nums[4], и nums[5].
Бит 1 је постављен у nums[0], и nums[5].
Бит 2 је постављен у nums[0], nums[1], и nums[5].
Бит 3 је постављен у nums[1], nums[2], nums[3], nums[4], и nums[5].
Само битови 0 и 3 су постављени у најмање `k` елемената низа, и битови i >= 4 нису постављени у било ком елементу низа. Стога, одговор је 2^0 + 2^3 = 9.

Пример 2:

Улаз: nums = [2,12,1,11,4,5], k = 6
Излаз: 0
Објашњење: Пошто је k == 6 == nums.length, 6-or низа је једнак битовском AND свих његових елемената. Према томе, одговор је 2 AND 12 AND 1 AND 11 AND 4 AND 5 = 0.

Пример 3:

Улаз: nums = [10,8,5,9,11,6,8], k = 1
Излаз: 15
Објашњење: Пошто је k == 1, 1-or низа је једнак битовском OR свих његових елемената. Према томе, одговор је 10 OR 8 OR 5 OR 9 OR 11 OR 6 OR 8 = 15.

Ограничења:

1 <= nums.length <= 50
0 <= nums[i] < 2^31
1 <= k <= nums.length


Дат вам је нулом индексни низ цели бројева nums.
Подсеквенца низа nums дужине k и састојећи се од индекса i_0 < i_1 < ... < i_k-1 је избалансирана ако важи следеће:

nums[i_j] - nums[i_j-1] >= i_j - i_j-1, за сваки j у опсегу [1, k - 1].

Подсеквенца низа nums дужине 1 сматра се избалансираном.
Вратите цео број који означава највећи могући збир елемената у избалансираној подсеквенци низа nums.
Подсеквенца низа је нови непразан низ који се формира из оригиналног низа брисањем неких (могуће ниједног) елемената без нарушавања релативних позиција преосталих елемената.

Пример 1:

Улаз: nums = [3,3,5,6]
Излаз: 14
Објашњење: У овом примеру, подсеквенца [3,5,6] састављена од индекса 0, 2 и 3 може бити изабрана.
nums[2] - nums[0] >= 2 - 0.
nums[3] - nums[2] >= 3 - 2.
Дакле, то је избалансирана подсеквенца, и њен збир је максималан међу избалансираним подсеквенцама низа nums.
Подсеквенца која се састоји од индекса 1, 2 и 3 је такође валидна.
Може се показати да није могуће добити избалансирану подсеквенцу са збиром већим од 14.
Пример 2:

Улазо: nums = [5,-1,-3,8]
Излаз: 13
Објашњење: У овом примеру, подсеквенца [5,8] састављена од индекса 0 и 3 може бити изабрана.
nums[3] - nums[0] >= 3 - 0.
Дакле, то је избалансирана подсеквенца, и њен збир је максималан међу избалансираним подсеквенцама низа nums.
Може се показати да није могуће добити избалансирану подсеквенцу са збиром већим од 13.

Пример 3:

Улаз: nums = [-2,-1]
Излаз: -1
Објашњење: У овом примеру, подсеквенца [-1] може бити изабрана.
То је избалансирана подсеквенца, и њен збир је максималан међу избалансираним подсеквенцама низа nums.

Ограничења:

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

Добијате 0-индексирани цео nums бројева.
Подсеквенца нумс који има дужину к и састоји се од индекса i_0 < i_1 < ... < i_k-1 је уравнотежен ако следеће важи:

nums[i_j] - nums[i_j-1] >= i_j - i_j-1, за сваки ј у опсегу [1, к -1].

Подсеквенца бројева који имају дужину 1 сматра се уравнотеженом.
Вратите цео број који означава максималну могућу суму елемената у уравнотеженој подсеквенци бројева.
Подсеквенца низа је нови не-празан низ који се формира из оригиналног низа брисањем неких (можда ниједан) елемената без нарушавања релативних положаја преосталих елемената.

Пример 1:

Улаз : nums = [3,3,5,6]
излаз : 14
Објашњење : У овом примеру, може се изабрати подсеквенца [3,5,6] која се састоји од индекса 0, 2 и 3.
nums[2] - nums[0] >= 2 - 0.
nums[3] - nums[2] >= 3 - 2.
Дакле , то је уравнотежена подсеквенца, а њена сума је максимум међу уравнотеженим подсеквенцама бројева.
Подсеквенца која се састоји од индекса 1, 2 и 3 такође важи.
Може се показати да није могуће добити уравнотежену подсеквенцу са сумом већом од 14.
Пример 2:

Улаз : nums = [5,-1,-3,8]
излаз : 13
Објашњење : У овом примеру може се одабрати подсеквенца [5,8] која се састоји од индекса 0 и 3.
nums[3 ] - nums[0] > = 3 - 0.
Дакле , то је уравнотежена подсеквенца, а њена сума је максимум међу уравнотеженим подсеквенцама бројева.
Може се показати да није могуће добити уравнотежену подсеквенцу са сумом већом од 13.

Пример 3:

Улаз : nums = [-2,-1]
излаз : -1
Објашњење : У овом примеру, може се изабрати субсеквенца [-1].
То је уравнотежена подсеквенца, а њена сума је максимум међу уравнотеженим подсеквенцама бројева.

Ограничења:

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

Дат вам је нулом индексни низ цели бројева nums.
Подсеквенца низа nums дужине k и састојећи се од индекса i_0 < i_1 < ... < i_k-1 је избалансирана ако важи следеће:

nums[i_j] - nums[i_j-1] >= i_j - i_j-1, за сваки j у опсегу [1, k - 1].

Подсеквенца низа nums дужине 1 сматра се избалансираном.
Вратите цео број који означава највећи могући збир елемената у избалансираној подсеквенци низа nums.
Подсеквенца низа је нови непразан низ који се формира из оригиналног низа брисањем неких (могуће ниједног) елемената без нарушавања релативних позиција преосталих елемената.

Пример 1:

Улазо: nums = [3,3,5,6]
Излаз: 14
Објашњење: У овом примеру, подсеквенца [3,5,6] састављена од индекса 0, 2 и 3 може бити изабрана.
nums[2] - nums[0] >= 2 - 0.
nums[3] - nums[2] >= 3 - 2.
Дакле, то је избалансирана подсеквенца, и њен збир је максималан међу избалансираним подсеквенцама низа nums.
Подсеквенца која се састоји од индекса 1, 2 и 3 је такође валидна.
Може се показати да није могуће добити избалансирану подсеквенцу са збиром већим од 14.
Пример 2:

Улазо: nums = [5,-1,-3,8]
Излаз: 13
Објашњење: У овом примеру, подсеквенца [5,8] састављена од индекса 0 и 3 може бити изабрана.
nums[3] - nums[0] >= 3 - 0.
Дакле, то је избалансирана подсеквенца, и њен збир је максималан међу избалансираним подсеквенцама низа nums.
Може се показати да није могуће добити избалансирану подсеквенцу са збиром већим од 13.

Пример 3:

Улазо: nums = [-2,-1]
Излаз: -1
Објашњење: У овом примеру, подсеквенца [-1] може бити изабрана.
То је избалансирана подсеквенца, и њен збир је максималан међу избалансираним подсеквенцама низа nums.

Ограничења:

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


Постоји н тимова са бројевима од 0 до н - 1 на турниру.
Дате 0-индексирану 2Д логичку матричну мрежу величине н * н. За све i, ј да је 0 <= i, ј <= н - 1 и i != ј тим и је јачи од тима ј ако је grid[i][j] == 1, у супротном, тим ј је јачи од тима и .
Тим а ће бити шампион турнира ако нема екипе б која је јача од екипе а.
Вратите тим који ће бити шампион турнира.

Пример 1:

Улаз: grid = [[0,1],[0,0]]
Излаз: 0
Објашњење: На овом турниру су две екипе.
grid[0][1] == 1 значи да је тим 0 јачи од тима 1. Дакле, тим 0 ће бити шампион.

Пример 2:

Улаз: grid = [[0,0,1],[1,0,1],[0,0,0]]
Излаз: 1
Објашњење: На овом турниру су три екипе.
grid[1][0] == 1 значи да је тим 1 јачи од тима 0.
grid[1][2] == 1 значи да је тим 1 јачи од тима 2.
Дакле, тим 1 ће бити шампион.

Ограничења:

n == grid.length
n == grid[i].length
2 <= n <= 100
grid[i][j] је или 0 или 1.
За све i, grid[i][i] је 0.
За све i, ј да је i != ј, grid[i][j] != grid[j][i].
Улаз се генерише тако да ако је тим а јачи од тима б и тим б јачи од тима ц, онда је тим а јачи од тима ц.

Постоји n тимова са бројевима од 0 до n - 1 на турниру.
Дате 0-индексирану 2D boolean матричну мрежу величине n * n. За све i, j тако да је 0 <= i, j <= n - 1 и i != j За све i, grid[i][i] је 0 тим i је јачи од тима ј ако је мрежа[i][ј] == 1, у супротном, тим ј је јачи од тима i .
Тим а ће бити шампион турнира ако нема екипе b која је јача од екипе а.
Вратите тим који ће бити шампион турнира.

Пример 1:

Улаз: grid = [[0,1],[0,0]]
Излаз: 0
Објашњење: На овом турниру су две екипе.
grid[0][1] == 1 значи да је тим 0 јачи од тима 1. Дакле, тим 0 ће бити шампион.

Пример 2:

Улаз: grid = [[0,0,1],[1,0,1],[0,0,0]]
Излаз: 1
Објашњење: На овом турниру су три екипе.
grid[1][0] == 1 значи да је тим 1 јачи од тима 0.
grid[1][2] == 1 значи да је тим 1 јачи од тима 2.
Дакле, тим 1 ће бити шампион.

Ограничења:

n == grid.length
n == grid[i].length
2 <= n <= 100
grid[i][j] је или 0 или 1.
За све i, grid[i][i] је 0.
За све i, j тако да је i != j, grid[i][j] != grid[j][i].
Улаз се генерише тако да ако је тим а јачи од тима b и тим b јачи од тима c, онда је тим а јачи од тима c.

Постоји n тимова нумерисаних од 0 до n - 1 у турниру. Дат је индексовани 2D булов матрикс grid димензија n * n. За све i, j где 0 <= i, j <= n - 1 и i != j тим i је јачи од тима j ако је grid[i][j] == 1, иначе, тим j је јачи од тима i. Тим a ће бити шампион турнира ако не постоји тим b који је јачи од тима a. Вратите тим који ће бити шампион турнира.

Пример 1:

Улаз: grid = [[0,1],[0,0]]
Излаз: 0
Објашњење: Постоје два тима у овом турниру. grid[0][1] == 1 значи да је тим 0 јачи од тима 1. Дакле, тим 0 ће бити шампион.

Пример 2:

Улаз: grid = [[0,0,1],[1,0,1],[0,0,0]]
Излаз: 1
Објашњење: Постоје три тима у овом турниру. grid[1][0] == 1 значи да је тим 1 јачи од тима 0. grid[1][2] == 1 значи да је тим 1 јачи од тима 2. Дакле, тим 1 ће бити шампион.

Ограничења:

n == grid.length
n == grid[i].length
2 <= n <= 100
grid[i][j] је или 0 или 1.
За све i grid[i][i] је 0.
За све i, j где је i != j, grid[i][j] != grid[j][i].
Улаз је генерисан тако да ако је тим a јачи од тима b и тим b је јачи од тима c, онда је тим a јачи од тима c.


Дати су вам два целобројна низа са 0-базираном индексацијом, nums1 и nums2, оба дужине n.
Дозвољено је да изведете серију операција (можда и ниједну).
У операцији, изаберете индекс i у опсегу [0, n - 1] и замените вредности nums1[i] и nums2[i].
Ваш задатак је да пронађете минималан број операција потребних да се задовоље следећи услови:

nums1[n - 1] је једнако максималној вредности међу свим елементима nums1, тј. nums1[n - 1] = max(nums1[0], nums1[1], ..., nums1[n - 1]).
nums2[n - 1] је једнако максималној вредности међу свим елементима nums2, тј. nums2[n - 1] = max(nums2[0], nums2[1], ..., nums2[n - 1]).

Вратите цео број који означава минималан број операција потребан да се задовоље оба услова, или -1 ако није могуће испунити оба услова.

Пример 1:

Улаз: nums1 = [1,2,7], nums2 = [4,5,3]
Излаз: 1
Објашњење: У овом примеру, операција може да се изведе коришћењем индекса i = 2.
Када се nums1[2] и nums2[2] замене, nums1 постаје [1,2,3] и nums2 постаје [4,5,7].
Оба услова су сада задовољена.
Може се показати да је минималан број операција које је потребно извршити 1.
Дакле, одговор је 1.

Пример 2:

Улаз: nums1 = [2,3,4,5,9], nums2 = [8,8,4,4,4]
Излаз: 2
Објашњење: У овом примеру, могу се извршити следеће операције:
Прва операција помоћу индекса i = 4.
Када се nums1[4] и nums2[4] замене, nums1 постаје [2,3,4,5,4], а nums2 постаје [8,8,4,4,9].
Друга операција помоћу индекса i = 3.
Када се nums1[3] и nums2[3] замене, nums1 постаје [2,3,4,4,4], а nums2 постаје [8,8,4,5,9].
Оба услова су сада задовољена.
Може се показати да је минималан број операција које је потребно извршити 2.
Дакле, одговор је 2.

Пример 3:

Унос: nums1 = [1,5,4], nums2 = [2,5,3]
Излаз: -1
Објашњење: У овом примеру, није могуће испунити оба услова.
Дакле, одговор је -1.

Ограничавања:

1 <= n == nums1.length == nums2.length <= 1000
1 <= nums1[i] <= 10^9
1 <= nums2[i] <= 10^9

Dobijate dva celobrojna niza sa indeksom 0, nums1 i nums2, oba dužine n.
Dozvoljeno vam je da izvršite niz operacija (moguće nijednu).
U jednoj operaciji birate indeks i u opsegu [0, n - 1] i zamenjujete vrednosti nums1[i] i nums2[i].
Vaš zadatak je da pronađete minimalan broj operacija potrebnih da se zadovolje sledeći uslovi:

nums1[n - 1] je jednak maksimalnoj vrednosti među svim elementima niza nums1, tj. nums1[n - 1] = max(nums1[0], nums1[1], ..., nums1[n - 1]).
nums2[n - 1] je jednak maksimalnoj vrednosti među svim elementima niza nums2, tj. nums2[n - 1] = max(nums2[0], nums2[1], ..., nums2[n - 1]).

Vratite ceo broj koji označava minimalan broj potrebnih operacija da bi se zadovoljili oba uslova ili -1 ako nije moguće zadovoljiti oba uslova.

Primer 1:

Ulaz: nums1 = [1, 2, 7], nums2 = [4, 5, 3]
Izlaz:  1

Objašnjenje:  U ovom primeru može se izvesti operacija koristeći indeks i = 2.
Kada se nums1[2] i nums2[2] zamene, nums1 postaje [1, 2, 3], a nums2 postaje [4, 5, 7].
Oba uslova su sada zadovoljena.
Može se pokazati da je minimalan broj operacija koji treba izvesti 1.
Dakle, odgovor je 1.

Primer 2:

Ulaz:  nums1 = [2, 3, 4, 5, 9], nums2 = [8, 8, 4, 4, 4]
Izlaz:  2

Objašnjenje:  U ovom primeru mogu se izvesti sledeće operacije:
Prva operacija koristi indeks i = 4.
Kada se nums1[4] i nums2[4] zamene, nums1 postaje [2, 3, 4, 5, 4], a nums2 postaje [8, 8, 4, 4, 9].
Druga operacija koristi indeks i = 3.
Kada se nums1[3] i nums2[3] zamene, nums1 postaje [2, 3, 4, 4, 4], a nums2 postaje [8, 8, 4, 5, 9].
Oba uslova su sada zadovoljena.
Može se pokazati da je minimalan broj operacija koji treba izvesti 2.
Dakle, odgovor je 2.

Primer 3:

Ulaz:  nums1 = [1, 5, 4], nums2 = [2, 5, 3]
Izlaz:  -1

Objašnjenje:  U ovom primeru nije moguće zadovoljiti oba uslova.
Dakle, odgovor je -1.

Ograničenja:
1 <= n == nums1.length == nums2.length <= 1000
1 <= nums1[i] <= 10^9
1 <= nums2[i] <= 10^9

Date su dve celobrojne nula-indeksirane liste, nums1 i nums2, obe dužine n.
Dozvoljeno je izvršiti niz operacija (možda nijednu).
U jednoj operaciji birate indeks i u opsegu [0, n - 1] i zamenjujete vrednosti nums1[i] i nums2[i].
Vaš zadatak je da pronađete minimalan broj operacija potrebnih da se ispune sledeći uslovi:

nums1[n - 1] je jednak maksimalnoj vrednosti među svim elementima nums1, tj. nums1[n - 1] = max(nums1[0], nums1[1], ..., nums1[n - 1]).
nums2[n - 1] je jednak maksimalnoj vrednosti među svim elementima nums2, tj. nums2[n - 1] = max(nums2[0], nums2[1], ..., nums2[n - 1]).

Vratite ceo broj koji označava minimalan broj operacija potreban da se ispune oba uslova ili  -1 ako nije moguće zadovoljiti oba uslova.
Пример 1:

Унос: nums1 = [1,2,7], nums2 = [4,5,3]
Излаз: 1
Објашњење: У овом примеру, операција може да се изведе коришћењем индекса i = 2.
Када се nums1[2] и nums2[2] замене, nums1 постаје [1,2,3] и nums2 постаје [4,5,7].
Оба услова су сада задовољена.
Може се показати да је минималан број операција које је потребно извршити 1.
Дакле, одговор је 1.

Пример 2:

Унос: nums1 = [2,3,4,5,9], nums2 = [8,8,4,4,4]
Излаз: 2
Објашњење: У овом примеру, могу се извршити следеће операције:
Прва операција помоћу индекса i = 4.
Када се nums1[4] и nums2[4] замене, nums1 постаје [2,3,4,5,4], а nums2 постаје [8,8,4,4,9].
Друга операција помоћу индекса i = 3.
Када се nums1[3] и nums2[3] замене, nums1 постаје [2,3,4,4,4], а nums2 постаје [8,8,4,5,9].
Оба услова су сада задовољена.
Може се показати да је минималан број операција које је потребно извршити 2.
Дакле, одговор је 2.

Пример 3:

Унос: nums1 = [1,5,4], nums2 = [2,5,3]
Излаз: -1
Објашњење: У овом примеру, није могуће задовољити оба услова.
Дакле, одговор је -1.

Ограничавања:

1 <= n == nums1.length == nums2.length <= 1000
1 <= nums1[i] <= 10^9
1 <= nums2[i] <= 10^9


Дата су вам три цела броја a, b и n, вратите максималну вредност од (a XOR x) * (b XOR x) где 0 <= x < 2^n
Пошто је одговор можда превелик, вратите га по модулу 10^9 + 7.
Запазите да је XOR битовска XOR операција.

Пример 1:

Улаз: a = 12, b = 5, n = 4
Излаз: 98
Објашњење: За x = 2, (a XOR x) = 14 и (b XOR x) = 7. Због тога, (a XOR x) * (b XOR x) = 98.
Може се показати да је 98 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.

Пример 2:

Улаз: a = 6, b = 7, n = 5
Излаз: 930
Објашњење: За x = 25, (a XOR x) = 31 и (b XOR x) = 30. Због тога, (a XOR x) * (b XOR x) = 930.
Може се показати да је 930 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.
Пример 3:

Улаз: a = 1, b = 6, n = 3
Излаз: 12
Објашњење: За x = 5, (a XOR x) = 4 и (b XOR x) = 3. Због тога, (a XOR x) * (b XOR x) = 12
Може се показати да је 12 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.

Ограничења:

0 <= a, b < 2^50
0 <= n <= 50

Дате три цела броја a, b и n, вратите максималну вредност (a XOR x) * (b XOR x) где 0 <= x < 2^n.
Пошто је одговор можда превелик, вратите га по модулу 10^9 + 7.
Имајте на уму да је XOR битовска XOR операција.

Пример 1:

Улаз: a = 12, b = 5, n = 4
Излаз: 98
Објашњење: За x = 2, (a XOR x) = 14 и (b XOR x) = 7. Због тога, (a XOR x) * (b XOR x) = 98.
Може се показати да је 98 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.

Пример 2:

Улаз: a = 6, b = 7, n = 5
Излаз: 930
Објашњење: За x = 25, (a XOR x) = 31 и (b XOR x) = 30. Због тога, (a XOR x) * (b XOR x) = 930.
Може се показати да је 930 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.
Пример 3:

Улаз: a = 1, b = 6, n = 3
Излаз: 12
Објашњење: За x = 5, (a XOR x) = 4 и (b XOR x) = 3. Због тога, (a XOR x) * (b XOR x) = 12.
Може се показати да је 12 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.

Ограничења:

0 <= a, b < 2^50
0 <= n <= 50

Дати су три цела броја a, b и n, вратите максималну вредност (a XOR x) * (b XOR x) где је 0 <= x < 2^n.
Пошто одговор може бити превелик, вратите га мод 10^9 + 7.
Имајте на уму да је XOR битовска XOR операција.

Пример 1:

Унос: a = 12, b = 5, n = 4
Излаз: 98
Објашњење: За x = 2, (a XOR x) = 14 и (b XOR x) = 7. Због тога, (a XOR x) * (b XOR x) = 98. Може се показати да је 98 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.

Пример 2:

Унос: a = 6, b = 7, n = 5
Излаз: 930
Објашњење: За x = 25, (a XOR x) = 31 и (b XOR x) = 30. Због тога, (a XOR x) * (b XOR x) = 930. Може се показати да је 930 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.

Пример 3:

Унос: a = 1, b = 6, n = 3
Излаз: 12
Објашњење: За x = 5, (a XOR x) = 4 и (b XOR x) = 3. Због тога, (a XOR x) * (b XOR x) = 12. Може се показати да је 12 максимална вредност (a XOR x) * (b XOR x) за све 0 <= x < 2^n.

Ограничења:

0 <= a, b < 2^50
0 <= n <= 50


Дат вам је низ целих бројева nums индексиран од 0. Пар целих бројева x и y назива се јак пар ако задовољава услов:

|x - y| <= min(x, y)

Потребно је одабрати два цела броја из nums тако да чине јак пар и њихов битовски XOR је максималан међу свим јаким паровима у низу.
Вратите максималну XOR вредност од свих могућих јаких парова у низу nums.
Имајте на уму да можете изабрати исти целобројни број два пута да бисте формирали пар.

Пример 1:

Улаз: nums = [1,2,3,4,5]
Излаз: 7
Објашњење: Постоји 11 јаких парова у низу nums: (1, 1), (1, 2), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (3, 5), (4, 4), (4, 5) и (5, 5).
Максимални могући XOR из ових парова је 3 XOR 4 = 7.

Пример 2:

Улаз: nums = [10,100]
Излаз: 0
Објашњење: Постоје 2 јака пара у низу nums: (10, 10) и (100, 100).
Максимални могући XOR из ових парова је 10 XOR 10 = 0 јер пар (100, 100) такође даје 100 XOR 100 = 0.

Пример 3:

Улаз: nums = [5,6,25,30]
Излаз: 7
Објашњење: Постоји 6 јаких парова у низу nums: (5, 5), (5, 6), (6, 6), (25, 25), (25, 30) и (30, 30).
Максимални могући XOR из ових парова је 25 XOR 30 = 7 јер је једина друга ненулта XOR вредност 5 XOR 6 = 3.

Ограничења:

1 <= nums.length <= 50
1 <= nums[i] <= 100

Дат вам је низ целих бројева индексираних са 0. Пар целих бројеваd x и y назива се јак пар ако испуњава услов:

|x - y| <= min(x, y)

Потребно је да изаберете два цела броја из бројева тако да формирају јак пар и да њихов XOR у битовима буде максимум међу свим јаким паровима у низу.
Врати максималну вредност XOR од свих могућих јаких парова у низу бројева.
Имајте на уму да исти цео број можете изабрати двапут да бисте формирали пар.

Пример 1:

Улаз: nums = [1,2,3,4,5]
Излаз: 7
Објашњење: Постоји 11 јаких парова у низу бројева: (1, 1), (1, 2), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (3, 5), (4, 4), (4, 5) и (5, 5).
Максимални могући XOR из ових парова је 3 XOR 4 = 7.

Пример 2:

Улаз: nums = [10,100]
Излаз: 0
Објашњење: Постоје 2 јака пара у низу бројева: (10, 10) и (100, 100).
Максимални могући XOR из ових парова је 10 XOR 10 = 0 пошто пар (100, 100) такође даје 100 XOR 100 = 0.

Пример 3:

Улаз: nums = [5,6,25,30]
Излаз: 7
Објашњење: Постоји 6 јаких парова у низу бројева: (5, 5), (5, 6), (6, 6), (25, 25), (25, 30) и (30, 30).
Максимални могући XOR из ових парова је 25 XOR 30 = 7 пошто је једина друга вредност XOR која није нула 5 XOR 6 = 3.

Ограничења:

1 <= nums.length <= 50
1 <= nums[i] <= 100

Dati ste 0-indeksirani niz celih brojeva, nums. Par celih brojeva x i y naziva se jakim parom ako zadovoljava uslov:

|x - y| \leq \min(x, y)

Потребно је одабрати два цела броја из nums тако да чине јак пар и њихов битовски XOR је максималан међу свим јаким паровима у низу.
Вратите максималну XOR вредност од свих могућих јаких парова у низу nums.
Имајте на уму да можете изабрати исти целобројни број два пута да бисте формирали пар.

Пример 1:

Улаз: nums = [1,2,3,4,5]
Излаз: 7
Објашњење: Постоји 11 јаких парова у низу nums: (1, 1), (1, 2), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (3, 5), (4, 4), (4, 5) и (5, 5).
Максимални могући XOR из ових парова је 3 XOR 4 = 7.

Пример 2:

Улаз: nums = [10,100]
Излаз: 0
Објашњење: Постоје 2 јака пара у низу nums: (10, 10) и (100, 100).
Максимални могући XOR из ових парова је 10 XOR 10 = 0 јер пар (100, 100) такође даје 100 XOR 100 = 0.

Пример 3:

Улаз: nums = [5,6,25,30]
Излаз: 7
Објашњење: Постоји 6 јаких парова у низу nums: (5, 5), (5, 6), (6, 6), (25, 25), (25, 30) и (30, 30).
Максимални могући XOR из ових парова је 25 XOR 30 = 7 јер је једина друга ненулта XOR вредност 5 XOR 6 = 3.

Ограничења:

1 <= nums.length <= 50
1 <= nums[i] <= 100


Dati su vam niz stringova `words` sa 0-indeksacijom i karakter `x`.
Vratite niz indeksa koji predstavljaju reči koje sadrže karakter `x`.
Napomena: Vraćeni niz može biti u bilo kom redosledu.

Пример 1:

Улаз: words = ["leet","code"], x = "e"
Излаз: [0,1]
Објашњење: "e" се појављује у обе речи: "leet", и "code". Дакле, враћамо индексе 0 и 1.

Пример 2:

Улаз: words = ["abc","bcd","aaaa","cbc"], x = "a"
Излаз: [0,2]
Објашњење: "a" се појављује у "abc", и "aaaa". Дакле, враћамо индексе 0 и 2.

Пример 3:

Улаз: words = ["abc","bcd","aaaa","cbc"], x = "z"
Излаз: []
Објашњење: "z" се не појављује ни у једној од речи. Дакле, враћамо празан низ.

Ограничења:

- ( 1 \leq \text{words.length} \leq 50 \)
- ( 1 \leq \text{words[i].length} \leq 50 \)
- `x` je malo slovo engleskog alfabeta.
- `words[i]` se sastoji samo od malih slova engleskog alfabeta.

Дат вам је низ низова words са индексом 0 и знак x.
Врати низ индекса који представљају речи које садрже знак к.
Имајте на уму да враћени низ може бити у било ком редоследу.

Пример 1:

Улаз: words = ["leet","code"], x = "e"
Излаз: [0,1]
Објашњење: "е" се појављује у обе речи: "леет" и "цоде". Дакле, враћамо индексе 0 и 1.

Пример 2:

Улаз: words = ["abc","bcd","aaaa","cbc"], x = "a"
Излаз: [0,2]
Објашњење: "а" се појављује у "абц", и "аааа". Дакле, враћамо индексе 0 и 2.

Пример 3:

Улаз: words = ["abc","bcd","aaaa","cbc"], x = "z"
Излаз: []
Објашњење: "з" се не појављује ни у једној words. Дакле, враћамо празан низ.

Ограничења:

1 <= words.length <= 50
1 <= words[i].length <= 50
x је мало слово енглеског језика.
words[i] се састоје само од малих енглеских слова.

Дат вам је 0-индиксни низ нискова words и карактер x.
Вратите низ индекса који представљају речи које садрже карактер x.
Напомена: Враћени низ може бити у било ком редоследу.

Пример 1:

Улаз: words = ["leet","code"], x = "e"
Излаз: [0,1]
Објашњење: "e" се појављује у обе речи: "leet", и "code". Дакле, враћамо индексе 0 и 1.

Пример 2:

Улаз: words = ["abc","bcd","aaaa","cbc"], x = "a"
Излаз: [0,2]
Објашњење: "a" се појављује у "abc", и "aaaa". Дакле, враћамо индексе 0 и 2.

Пример 3:

Улаз: words = ["abc","bcd","aaaa","cbc"], x = "z"
Излаз: []
Објашњење: "z" се не појављује ни у једној од речи. Дакле, враћамо празан низ.

Ограничења:

1 <= words.length <= 50
1 <= words[i].length <= 50
x је мало слово енглеске абецеде.
words[i] садржи само мала слова енглеског језика.


На столу се налази n лопти, при чему је свака лопта обојена црно или бело.
Дат вам је бинарни низ s дужине n, где 1 и 0 представљају црне и беле лопте, редом.
У сваком кораку можете изабрати две суседне лопте и заменити их.
Вратите минималан број корака потребан да се све црне лопте групишу са десне стране, а све беле са леве стране.

Пример 1:

Улаз: s = "101"
Излаз: 1
Објашњење: Можемо груписати све црне лоптице десно на следећи начин:
- Заменимо s[0] и s[1], s = "011".
У почетку, 1s нису груписане заједно, па је потребан најмање 1 корак да их групишемо десно.

Пример 2:

Улаз: s = "100"
Излаз: 2
Објашњење: Можемо груписати све црне лоптице десно на следећи начин:
- Заменимо s[0] и s[1], s = "010".
- Заменимо s[1] и s[2], s = "001".
Може се доказати да је минимални број потребних корака 2.

Пример 3:

Улаз: s = "0111"
Излаз: 0
Објашњење: Све црне лоптице су већ груписане десно.

Ограничења:

1 <= n == s.length <= 10^5
s[i] је или '0' или '1'.

На столу се налази n лоптица, свака је обојена црном или белом бојом.
Дат је бинарни низ s дужине n са индексима од 0, где 1 и 0 представљају црне и беле лоптице, респективно.
У сваком кораку, можете изабрати две суседне лоптице и заменити их.
Вратите минималан број корака да групишете све црне лоптице десно и све беле лево.

Пример 1:

Улаз: s = "101"
Излаз: 1
Објашњење: Можемо груписати све црне лоптице десно на следећи начин:
- Заменимо s[0] и s[1], s = "011".
У почетку, 1це нису груписане заједно, па је потребан најмање 1 корак да их групишемо десно.

Пример 2:

Улаз: s = "100"
Излаз: 2
Објашњење: Можемо груписати све црне лоптице десно на следећи начин:
- Заменимо s[0] и s[1], s = "010".
- Заменимо s[1] и s[2], s = "001".
Може се доказати да је минимални број потребних корака 2.

Пример 3:

Улаз: s = "0111"
Излаз: 0
Објашњење: Све црне лоптице су већ груписане десно.

Ограничења:

1 <= n == s.length <= 10^5
s[i] је или '0' или '1'.

На столу се налази n лопти, свака лопта има боју црну или белу.
Дат вам је 0-индексирани бинарни низ s дужине n, где 1 и 0 представљају црне и беле лопте, респективно.
У сваком кораку, можете изабрати две суседне лопте и размештати их.
Вратите минималан број корака потребан да се све црне лопте групишу на десно, а све беле лопте на лево.

Пример 1:

Улаз: s = "101"
Излаз: 1
Објашњење: Можемо груписати све црне лоптице десно на следећи начин:
- Заменимо s[0] и s[1], s = "011".
У почетку, 1це нису груписане заједно, па је потребан најмање 1 корак да их групишемо десно.

Пример 2:

Улаз: s = "100"
Излаз: 2
Објашњење: Можемо груписати све црне лоптице десно на следећи начин:
- Заменимо s[0] и s[1], s = "010".
- Заменимо s[1] и s[2], s = "001".
Може се доказати да је минимални број потребних корака 2.

Пример 3:

Улаз: s = "0111"
Излаз: 0
Објашњење: Све црне лоптице су већ груписане десно.

Ограничења:

1 <= n == s.length <= 10^5
s[i] је или '0' или '1'.


Дат вам је низ целих бројева nums и целобројна вредност k.
Можете извршити следећу операцију на низу највише k пута:

Изаберите било који индекс i из низа и повећајте или смањите nums[i] за 1.

Поен коначног низа је учесталост најчешћег елемента у низу.
Вратите максимални поен који можете постићи.
Учесталост елемента је број појава тог елемента у низу.
Пример 1:

Улаз: nums = [1,2,6,4], k = 3
Излаз: 3
Објашњење: Можемо урадити следеће операције на низу:
- Изаберите i = 0, и повећајте вредност nums[0] за 1. Резултујући низ је [2,2,6,4].
- Изаберите i = 3, и смањите вредност nums[3] за 1. Резултујући низ је [2,2,6,3].
- Изаберите i = 3, и смањите вредност nums[3] за 1. Резултујући низ је [2,2,6,2].
Елемент 2 је најчешћи у коначном низу тако да је наш скор 3.
Може се показати да не можемо постићи бољи скор.

Пример 2:

Улаз: nums = [1,4,4,2,4], k = 0
Излаз: 3
Објашњење: Не можемо применити никакве операције тако да ће наш скор бити учесталост најчешћег елемента у оригиналном низу, што је 3.

Ограничења:

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

Da biste rešili ovaj problem, imamo dati niz celih brojeva `nums` i broj  `k`.
Možete izvršiti sledeću operaciju na nizu najviše `k` puta:

Izaberite bilo koji indeks `i` iz niza i povećajte ili smanjite vrednost `nums[i]` za 1.

Rezultat niza je frekvencija najčešćeg elementa u nizu.
Vratite maksimalni rezultat koji možete postići.
Frekvencija elementa je broj ponavljanja tog elementa u nizu.

Пример 1:

Улаз: nums = [1,2,6,4], k = 3
Излаз: 3
Објашњење: Можемо урадити следеће операције на низу:
- Изаберите i = 0, и повећајте вредност `nums[0]` за 1. Резултујући низ је [2,2,6,4].
- Изаберите i = 3, и смањите вредност `nums[3]` за 1. Резултујући низ је [2,2,6,3].
- Изаберите i = 3, и смањите вредност `nums[3]` за 1. Резултујући низ је [2,2,6,2].
Елемент 2 је најчешћи у коначном низу тако да је наш скор 3.
Може се показати да не можемо постићи бољи скор.

Пример 2:

Улаз: nums = [1,4,4,2,4], k = 0
Излаз: 3
Објашњење: Не можемо применити никакве операције тако да ће наш скор бити учесталост најчешћег елемента у оригиналном низу, што је 3.

Ограничења:

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

Дат вам је 0-индексирани низ бројева бројева и цео број к.
Можете извршити следећу операцију на низу највише к пута:

Изаберите било који индекс и из низа и повећајте или смањите nums[i] за 1.

Резултат коначног низа је фреквенција најчешћег елемента у низу.
Вратите максималан резултат који можете постићи.
Учесталост елемента је број појављивања тог елемента у низу.

Пример 1:

Улаз: nums = [1,2,6,4], к = 3
Излаз: 3
Објашњење: Можемо да урадимо следеће операције на низу:
- Изаберите i = 0 и повећајте вредност nums[0] за 1. Добијени низ је [2,2,6,4].
- Изаберите i = 3 и смањите вредност nums[3] за 1. Добијени низ је [2,2,6,3].
- Изаберите i = 3 и смањите вредност nums[3] за 1. Добијени низ је [2,2,6,2].
Елемент 2 је најчешћи у коначном низу, тако да је наш резултат 3.
Може се показати да бољи резултат не можемо.

Пример 2:

Улаз: nums = [1,4,4,2,4], к = 0
Излаз: 3
Објашњење: Не можемо применити никакве операције тако да ће наш резултат бити фреквенција најчешћег елемента у оригиналном низу, а то је 3.

Ограничења:

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


Дате су вам два позитивна цела броја n и limit.
Вратите укупан број начина да расподелите n бомбона међу 3 детета тако да ниједно дете не добије више од limit бомбона.

Пример 1:

Улаз: n = 5, limit = 2
Излаз: 3
Објашњење: Постоје 3 начина да се расподели 5 бомбона тако да ниједно дете не добије више од 2 бомбоне: (1, 2, 2), (2, 1, 2) и (2, 2, 1).

Пример 2:

Улаз: n = 3, limit = 3
Излаз: 10
Објашњење: Постоји 10 начина да се расподеле 3 бомбоне тако да ниједно дете не добије више од 3 бомбоне: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) и (3, 0, 0).

Ограничења:

1 <= n <= 50
1 <= limit <= 50

Дајете вам два позитивна цела броја n и ограничење.
Вратите укупан број начина за дистрибуцију Н бомбона међу 3 деце, такво да ниједно дете не добије више од ограничења бомбона.

Пример 1:

Улаз: n = 5, limit = 2
Излаз: 3
Објашњење: Постоје 3 начина за дистрибуцију 5 бомбона тако да ниједно дете не добије више од 2 бомбона: (1, 2, 2), (2, 1, 2) и (2, 2, 1).

Пример 2:

Улаз: n = 3, limit = 3
Излаз: 10
Објашњење: Постоји 10 начина за дистрибуцију 3 бомбона тако да ниједно дете не добије више од 3 бомбона: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) и (3, 0, 0).

Ограничења:

1 <= n <= 50
1 <= limit <= 50

Дата су вам два позитивна цела броја: n и limit.
Вратите укупан број начина за расподелу **n** бомбона међу 3 детета тако да ниједно дете не добије више од limit бомбона.

Пример 1:

Унос: n = 5, limit = 2
Износ: 3
Објашњење: Постоје 3 начина да се расподели 5 бомбона тако да ниједно дете не добије више од 2 бомбоне: (1, 2, 2), (2, 1, 2) и (2, 2, 1).

Пример 2:

Унос: n = 3, limit = 3
Износ: 10
Објашњење: Постоји 10 начина да се расподеле 3 бомбоне тако да ниједно дете не добије више од 3 бомбоне: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) и (3, 0, 0).

Ограничења:

1 <= n <= 50
1 <= limit <= 50


Дат је број n.
Низ s је добар ако садржи само мала слова енглеског алфабета и могуће је прередити знакове низа s тако да нови низ садржи „leet” као подниску.
На пример:

Низ „lteer” је добар јер се може прередити у „leetr”.
„letl” није добар јер га није могуће прередити да садржи „leet” као подниску.

Вратите укупан број добрих низова дужине n.
Пошто одговор може бити велики, вратите га модуло 10^9 + 7.
Подниска је континуирани низ знакова унутар низа.

Пример 1:

Улаз: n = 4
Излаз: 12
Објашњење: 12 низова који могу бити преређени да садрже „leet” као подниску су: „eelt”, „eetl”, „elet”, „elte”, „etel”, „etle”, „leet”, „lete”, „ltee”, „teel”, „tele” и „tlee”.

Пример 2:

Улаз: n = 10
Излаз: 83943898
Објашњење: Број низова дужине 10 који могу бити преређени да садрже „leet” као подниску је 526083947580. Дакле, одговор је 526083947580 % (10^9 + 7) = 83943898.

Ограничења:

1 <= n <= 10^5

Дат вам је цео број n.
Низ s је добар ако садржи само мала слова енглеског алфабета и могуће је прередити знакове низа s тако да нови низ садржи „leet” као подниску.
На пример:

Низ „lteer” је добар јер се може прередити у „leetr”.
„letl” није добар јер га није могуће прередити да садржи „leet” као подниску.

Врати укупан број добрих низова дужине n.
Пошто је одговор можда велики, вратите га по модулу 10^9 + 7.
Подниз је непрекидни низ знакова унутар стринга.

Пример 1:

Улаз: n = 4
Излаз: 12
Објашњење: 12 низова који могу бити преређени да садрже „leet” као подниску су: „eelt”, „eetl”, „elet”, „elte”, „etel”, „etle”, „leet”, „lete”, „ltee”, „teel”, „tele” и „tlee”.

Пример 2:

Улаз: n = 10
Излаз: 83943898
Објашњење: Број низова дужине 10 који могу бити преређени да садрже „leet” као подниску је 526083947580. Зато је одговор 526083947580 % (10^9 + 7) = 83943898.

Ограничења:

1 <= n <= 10^5

Дат је број n.
Низ s је добар ако садржи само мала слова енглеског алфабета и могуће је прередити знакове низа s тако да нови низ садржи „leet” као подниску.
На пример:

Низ „lteer” је добар јер се може прередити у „leetr”.
„letl” није добар јер га није могуће прередити да садржи „leet” као подниску.

Вратите укупан број добрих низова дужине n.
Пошто одговор може бити велики, вратите га модуло 10^9 + 7.
Подниска је континуирани низ знакова унутар низа.

Пример 1:

Унос: n = 4
Излаз: 12
Објашњење: 12 низова који могу бити преређени да садрже „leet” као подниску су: „eelt”, „eetl”, „elet”, „elte”, „etel”, „etle”, „leet”, „lete”, „ltee”, „teel”, „tele” и „tlee”.

Пример 2:

Унос: n = 10
Излаз: 83943898
Објашњење: Број низова дужине 10 који могу бити преређени да садрже „leet” као подниску је 526083947580. Зато је одговор 526083947580 % (10^9 + 7) = 83943898.

Ограничења:

1 <= n <= 10^5


Дата вам је ниска s са нултим индексом који има парну дужину n.
Такође вам је дат дводимензионални цео бројни низ са нултим индексом, queries, где је queries[i] = [a_i, b_i, c_i, d_i].
За сваки упит i, дозвољено је извршити следеће операције:

Преуредите карактере унутар подниза s[a_i:b_i], где је 0 <= a_i <= b_i < n / 2.
Преуредите карактере унутар подниза s[c_i:d_i], где је n / 2 <= c_i <= d_i < n.

Задатак за сваки упит је да утврдите да ли је могуће учинити да s буде палиндром извршавањем операција.
Сваки упит се обрађује независно од других.
Вратите низ answer са индексацијом од 0, где је answer[i] == true ако је могуће учинити s палиндромом извршавањем операција дефинисаних упитом i, и false у супротном.

Подниз је непрекидан след карактера унутар ниске.
s[x:y] представља подниз који се састоји од карактера од индекса x до индекса y у s, обоје инклузивно.

Пример 1:

Улаз: s = "abcabc", queries = [[1,1,3,5],[0,2,5,5]]
Излаз: [true,true]
Објашњење: У овом примеру постоје два упита:
У првом упиту:
- a_0 = 1, b_0 = 1, c_0 = 3, d_0 = 5.
- Дакле, дозвољено вам је да преуредите s[1:1] => abcabc и s[3:5] => abcabc.
- Да би s био палиндром, s[3:5] се може преуредити да постане => abccba.
- Сада је s палиндром. Дакле, answer[0] = true.
У другом упиту:
- a_1 = 0, b_1 = 2, c_1 = 5, d_1 = 5.
- Дакле, дозвољено вам је да преуредите s[0:2] => abcabc и s[5:5] => abcabc.
- Да би s био палиндром, s[0:2] се може преуредити да постане => cbaabc.
- Сада је s палиндром. Дакле, answer[1] = true.

Пример 2:

Улаз: s = "abbcdecbba", queries = [[0,2,7,9]]
Излаз: [false]
Објашњење: У овом примеру постоји само један упит.
a_0 = 0, b_0 = 2, c_0 = 7, d_0 = 9.
Дакле, дозвољено вам је да преуредите s[0:2] => abbcdecbba и s[7:9] => abbcdecbba.
Није могуће учинити s палиндромом преуређивањем ових поднизова јер s[3:6] није палиндром.
Дакле, answer[0] = false.
Пример 3:

Улаз: s = "acbcab", queries = [[1,2,4,5]]
Излаз: [true]
Објашњење: У овом примеру постоји само један упит.
a_0 = 1, b_0 = 2, c_0 = 4, d_0 = 5.
Дакле, дозвољено вам је да преуредите s[1:2] => acbcab и s[4:5] => acbcab.
Да би s био палиндром, s[1:2] се може преуредити да постане abccab.
Затим, s[4:5] се може преуредити да постане abccba.
Сада је s палиндром. Дакле, answer[0] = true.

Ограничења:

2 <= n == s.length <= 10^5
1 <= queries.length <= 10^5
queries[i].length == 4
a_i == queries[i][0], b_i == queries[i][1]
c_i == queries[i][2], d_i == queries[i][3]
0 <= a_i <= b_i < n / 2
n / 2 <= c_i <= d_i < n
n је паран.
s се састоји само од малих слова енглеског алфабета.

Дат вам је стринг `s` са индексацијом од 0, дужине `n`, која је парна.
Такође вам је дат 2Д низ целих бројева, `queries`, где је `queries[i] = [a_i, b_i, c_i, d_i]`.
За сваки упит `i`, дозвољено вам је да извршите следеће операције:

Преуредите карактере унутар подниза `s[a_i:b_i]`, где је `0 <= a_i <= b_i < n / 2`.
Преуредите карактере унутар подниза `s[c_i:d_i]`, где је `n / 2 <= c_i <= d_i < n`.

Задатак за сваки упит је да утврдите да ли је могуће учинити да `s` буде палиндром извршавањем операција.
Сваки упит се обрађује независно од других.
Вратите низ `answer` са индексацијом од 0, где је `answer[i] == true` ако је могуће учинити `s` палиндромом извршавањем операција дефинисаних упитом `i`, и `false` у супротном.

Подниз је непрекидан след карактера унутар стринга.
`s[x:y]` представља подниз који се састоји од карактера од индекса `x` до индекса `y` у `s`, обоје инклузивно.

Пример 1:

Унос: s = "abcabc", queries = [[1,1,3,5],[0,2,5,5]]
Излаз: [true,true]
Објашњење: У овом примеру постоје два упита:
У првом упиту:
- a_0 = 1, b_0 = 1, c_0 = 3, d_0 = 5.
- Дакле, дозвољено вам је да преуредите s[1:1] => abcabc и s[3:5] => abcabc.
- Да би `s` био палиндром, s[3:5] се може преуредити да постане => abccba.
- Сада је `s` палиндром. Дакле, answer[0] = true.
У другом упиту:
- a_1 = 0, b_1 = 2, c_1 = 5, d_1 = 5.
- Дакле, дозвољено вам је да преуредите s[0:2] => abcabc и s[5:5] => abcabc.
- Да би `s` био палиндром, s[0:2] се може преуредити да постане => cbaabc.
- Сада је `s` палиндром. Дакле, answer[1] = true.

Пример 2:

Унос: s = "abbcdecbba", queries = [[0,2,7,9]]
Излаз: [false]
Објашњење: У овом примеру постоји само један упит.
a_0 = 0, b_0 = 2, c_0 = 7, d_0 = 9.
Дакле, дозвољено вам је да преуредите s[0:2] => abbcdecbba и s[7:9] => abbcdecbba.
Није могуће учинити `s` палиндромом преуређивањем ових поднизова јер s[3:6] није палиндром.
Дакле, answer[0] = false.
Пример 3:

Унос: s = "acbcab", queries = [[1,2,4,5]]
Излаз: [true]
Објашњење: У овом примеру постоји само један упит.
a_0 = 1, b_0 = 2, c_0 = 4, d_0 = 5.
Дакле, дозвољено вам је да преуредите s[1:2] => acbcab и s[4:5] => acbcab.
Да би `s` био палиндром, s[1:2] се може преуредити да постане abccab.
Затим, s[4:5] се може преуредити да постане abccba.
Сада је `s` палиндром. Дакле, answer[0] = true.

Ограничења:

2 <= n == s.length <= 10^5
1 <= queries.length <= 10^5
queries[i].length == 4
a_i == queries[i][0], b_i == queries[i][1]
c_i == queries[i][2], d_i == queries[i][3]
0 <= a_i <= b_i < n / 2
n / 2 <= c_i <= d_i < n
n је паран.
s се састоји само од малих слова енглеског алфабета.

Дат вам је низ с индексом 0 који има парну дужину н.
Такође вам је дат 0-индексиран 2Д целобројни низ, упити, где су queries[i] = [a_i, b_i, c_i, d_i].
За сваки упит и, дозвољено вам је да извршите следеће операције:

Преуредите знакове унутар подниза s[a_i:b_i], где је 0 <= a_i <= b_i < n / 2.
Преуредите знакове унутар подниза s[c_i:d_i], где је n / 2 <= c_i <= d_i < n.

За сваки упит, ваш задатак је да одредите да ли је могуће направити с палиндром извођењем операција.
На сваки упит се одговара независно од осталих.
Врати одговор низа са индексом 0, где је ансвер[и] == тачно ако је могуће направити с палиндром извођењем операција наведених у и^-том упиту, и фалсе у супротном.

Подниз је непрекидни низ знакова унутар стринга.
с[к:и] представља подниз који се састоји од знакова од индекса к до индекса и у с, укључујући оба.

Пример 1:

Улаз: s = "abcabc", queries = [[1,1,3,5],[0,2,5,5]]
Излаз: [true,true]
Објашњење: У овом примеру постоје два упита:
У првом упиту:
- a_0 = 1, b_0 = 1, c_0 = 3, d_0 = 5.
- Дакле, дозвољено вам је да преуредите s[1:1] => abcabc и s[3:5] => abcabc.
- Да би с био палиндром, s[3:5] се може преуредити да постане => abccba.
- Сада, с је палиндром. Дакле, answer[0] = true.
У другом упиту:
- a_1 = 0, b_1 = 2, c_1 = 5, d_1 = 5.
- Дакле, дозвољено вам је да преуредите s[0:2] => abcabc и s[5:5] => abcabc.
- Да би с постао палиндром, s[0:2] се може преуредити у => cbaabc.
- Сада, с је палиндром. Дакле, answer[1] = true.

Пример 2:

Улаз: s = "abbcdecbba", queries = [[0,2,7,9]]
Излаз: [false]
Објашњење: У овом примеру постоји само један упит.
a_0 = 0, b_0 = 2, c_0 = 7, d_0 = 9.
Дакле, дозвољено вам је да преуредите s[0:2] => abbcdecbba и s[7:9] => abbcdecbba.
Није могуће направити с палиндром преуређивањем ових поднизова јер s[3:6] није палиндром.
Дакле, answer[0] = false.
Пример 3:

Улаз: s = "acbcab", queries = [[1,2,4,5]]
Излаз: [true]
Објашњење: У овом примеру постоји само један упит.
a_0 = 1, b_0 = 2, c_0 = 4, d_0 = 5.
Дакле, дозвољено вам је да преуредите s[1:2] => acbcab и s[4:5] => acbcab.
Да би с постао палиндром s[1:2] се може преуредити да постане абццаб.
Затим, s[4:5] се може преуредити да постане абццба.
Сада, с је палиндром. Дакле, answer[0] = true.

Ограничења:

2 <= n == s.length <= 10^5
1 <= queries.length <= 10^5
queries[i].length == 4
a_i == queries[i][0], b_i == queries[i][1]
c_i == queries[i][2], d_i == queries[i][3]
0 <= a_i <= b_i < n / 2
n / 2 <= c_i <= d_i < n
н је парно.
с се састоји само од малих енглеских слова.


Дати су ти 0-индексни низови целих бројева nums1 и nums2 величина n и m, респективно. Размотри рачунање следећих вредности:

Број индекса i такав да је 0 <= i < n и nums1[i] се појављује бар једном у nums2.
Број индекса i такав да је 0 <= i < m и nums2[i] се појављује бар једном у nums1.

Врати низ целих бројева answer величине 2 који садржи ове две вредности редом.

Пример 1:

Улаз: nums1 = [4,3,2,3,1], nums2 = [2,2,5,2,3,6]
Излаз: [3,4]
Објашњење: Вредности израчунавамо на следећи начин:
- Елементи на индексима 1, 2 и 3 у nums1 јављају се бар једном у nums2. Тако да је прва вредност 3.
- Елементи на индексима 0, 1, 3 и 4 у nums2 јављају се бар једном у nums1. Тако да је друга вредност 4.

Пример 2:

Улаз: nums1 = [3,4,2,3], nums2 = [1,5]
Излаз: [0,0]
Објашњење: Не постоје заједнички елементи између два низа, тако да ће две вредности бити 0.

Ограничења:

n == nums1.length
m == nums2.length
1 <= n, m <= 100
1 <= nums1[i], nums2[i] <= 100

Дат вам је два 0-индиксна низа целих бројева nums1 и nums2 величина n и m, респективно.
Разматрајте израчунавање следећих вредности:

Број индекса i такав да је 0 <= i < n и nums1[i] се појављује бар једном у nums2.
Број индекса i такав да је 0 <= i < m и nums2[i] се појављује бар једном у nums1.

Врати низ целих бројева answer величине 2 који садржи ове две вредности редом.

Пример 1:

Улаз: nums1 = [4,3,2,3,1], nums2 = [2,2,5,2,3,6]
Излаз: [3,4]
Објашњење: Вредности рачунамо на следећи начин:
- Елементи на индексима 1, 2 и 3 у nums1 се појављују бар једном у nums2. Дакле, прва вредност је 3.
- Елементи на индексима 0, 1, 3 и 4 у nums2 се појављују бар једном у nums1. Дакле, друга вредност је 4.

Пример 2:

Улаз: nums1 = [3,4,2,3], nums2 = [1,5]
Излаз: [0,0]
Објашњење: Не постоје заједнички елементи између два низа, тако да ће две вредности бити 0.

Ограничења:

n == nums1.length
m == nums2.length
1 <= n, m <= 100
1 <= nums1[i], nums2[i] <= 100

Дати су ти 0-индексни низови целих бројева nums1 и nums2 величина n и m, респективно. Размотри рачунање следећих вредности:

 Broj indeksa i tako da je \( 0 \leq i < n \) i da se nums1[i] pojavljuje bar jednom u nums2.
 Broj indeksa i tako da je \( 0 \leq i < m \) i da se nums2[i] pojavljuje bar jednom u nums1.

Vratite niz celih brojeva answer veličine 2 koji sadrži ove dve vrednosti po datom redosledu.

Пример 1:

Улаз: nums1 = [4,3,2,3,1], nums2 = [2,2,5,2,3,6]
Излаз: [3,4]
Објашњење: Вредности рачунамо на следећи начин:
- Елементи на индексима 1, 2 и 3 у nums1 се појављују бар једном у nums2. Дакле, прва вредност је 3.
- Елементи на индексима 0, 1, 3 и 4 у nums2 се појављују бар једном у nums1. Дакле, друга вредност је 4.

Пример 2:

Улаз: nums1 = [3,4,2,3], nums2 = [1,5]
Излаз: [0,0]
Објашњење: Не постоје заједнички елементи између два низа, тако да ће две вредности бити 0.

Ограничења:

n == nums1.length
m == nums2.length
1 <= n, m <= 100
1 <= nums1[i], nums2[i] <= 100


Дате су вам три низа: s1, s2 и s3. Потребно је да извршите следећу операцију на овим низовима онолико пута колико желите.
У једној операцији можете изабрати један од ова три низа чија је дужина најмање 2 и избрисати десни знак из њега.
Вратите минималан број операција које треба извршити да би три низа постала једнака ако је могуће учинити их једнаким. У супротном, вратите -1.

Пример 1:

Улаз: s1 = "abc", s2 = "abb", s3 = "ab"
Излаз: 2
Објашњење: Извођење операција на s1 и s2 ће довести до три иста низа.
Може се показати да нема начина да буду једнаки са мање од две операције.

Пример 2:

Улаз: s1 = "dac", s2 = "bac", s3 = "cac"
Излаз: -1
Објашњење: Јер леви карактери у s1 и s2 нису једнаки, они не могу бити једнаки након било ког броја операција. Зато је одговор -1.

Ограничења:

1 <= s1.length, s2.length, s3.length <= 100
s1, s2 и s3 се састоје само од малих енглеских слова.

Дају вам три низови s1, s2 и s3. Морате да извршите следеће операције на ова три жица онолико пута колико желите.
У једној операцији можете одабрати један од ова три жица, тако да је његова дужина најмање 2 и избришите деснији карактер тога.
Вратите минимални број операција које треба извршити да би три низови једнаким ако постоји начин да их учинимо једнаким, у супротном, повратак -1.

Пример 1:

Улаз: s1 = "abc", s2 = "abb", s3 = "ab"
Излаз: 2
Објашњење: Извођење операција на s1 и s2 једном ће довести до три једнака жица.
Може се показати да не постоји начин да их учинимо једнаким са мање од две операције.

Пример 2:

Улаз: s1 = "dac", s2 = "bac", s3 = "cac"
Излаз: -1
Објашњење: Зато што је најлевија слова s1 и s2 нису једнаке, нису могли бити једнаки након било ког броја операција. Дакле, одговор је -1.

Ограничења:

1 <= s1.length, s2.length, s3.length <= 100
s1, s2 и s3 се састоје само од малих енглеских слова.

Дате су вам три низа s1, s2, и s3. Потребно је да изведете следећу операцију на овим низовима колико год пута желите.
У једној операцији можете да изаберете један од ова три низа чија је дужина најмање 2 и обришете његов крајњи десни карактер.
Вратите минималан број операција које треба да изведете да би сва три низа била једнака, ако постоји начин да буду једнака, иначе вратите -1.

Пример 1:

Улаз: s1 = "abc", s2 = "abb", s3 = "ab"
Излаз: 2
Објашњење: Извођење операција на s1 и s2 ће довести до три иста низа.
Може се показати да их није могуће изједначити са мање од две операције.

Пример 2:

Улаз: s1 = "dac", s2 = "bac", s3 = "cac"
Излаз: -1
Објашњење: Јер леви карактери у s1 и s2 нису једнаки, они не могу бити једнаки након било ког броја операција. Зато је одговор -1.

Ограничења:

1 <= s1.length, s2.length, s3.length <= 100
s1, s2 и s3 се састоје само од малих енглеских слова.


Налазите се на воћној пијаци са изложеним различитим врстама егзотичног воћа.
Дат вам је низ цена индексираних 1, где prices[i] означавају број новчића потребних за куповину i-то воћа.
Воћарска пијаца има следећу понуду:

Ако купите и^-то воће по ценама[и] новчића, следеће и воће можете добити бесплатно.

Имајте на уму да чак и ако можете бесплатно да узмете воће ј, и даље можете да га купите по prices[j] новчића да бисте добили нову понуду.
Вратите минимални број новчића потребан за стицање свих плодова.

Пример 1:

Улаз: prices = [3,1,2]
Излаз: 4
Објашњење: Можете набавити воће на следећи начин:

Купите 1-во воће за 3 новчића, дозвољено вам је да узмете 2-во воће бесплатно.
Купите 2-во воће за 1 новчић, дозвољено вам је да узмете 3-ће воће бесплатно.
Узмите 3-ће воће бесплатно.
Имајте на уму да иако вам је било дозвољено да узмете 2-во воће бесплатно, купили сте га јер је то оптималније.
Може се доказати да је 4 минималан број новчића потребних за све воће.

Пример 2:

Улаз: prices = [1,10,1,1]
Излаз: 2
Објашњење: Плодове можете набавити на следећи начин:
-Купите 1-во воће за 1 новчић, дозвољено вам је да узмете 2-во воће бесплатно.
-Узмите 2-во воће бесплатно.
-Купите 3-ће воће за 1 новчић, дозвољено вам је да узмете 4-о воће бесплатно.
-Узмите 4-о воће бесплатно.
Може се доказати да је 2 минимални број новчића потребан за стицање свих плодова.

Ограничења:

1 <= prices.length <= 1000
1 <= prices[i] <= 10^5

Налазите се на пијаци са различитим врстама егзотичних воћа на продаји.
Дате су вам 1-индексирана низа цена, где prices[i] означава број коинса потребних за куповину i-тог воћа.
Пијаца има следећу понуду:

Ако купите i-то воће за prices[i] коинса, добићете следећа i воћа бесплатно.

Напомена: чак и ако можете узети воће j бесплатно, и даље га можете купити за prices[j] коинса како бисте добили нову понуду.
Вратите минималан број коинса потребних да се набави све воће.

Пример 1:

Улаз: prices = [3,1,2]
Излаз: 4
Објашњење: Можете набавити воће на следећи начин:
- Купите 1-во воће за 3 новчића, дозвољено вам је да узмете 2-во воће бесплатно.
- Купите 2-во воће за 1 новчић, дозвољено вам је да узмете 3-ће воће бесплатно.
- Узмите 3-ће воће бесплатно.
Имајте на уму да иако вам је било дозвољено да узмете 2-во воће бесплатно, купили сте га јер је то оптималније.
Може се доказати да је 4 минималан број новчића потребних за све воће.

Пример 2:

Улаз: prices = [1,10,1,1]
Излаз: 2
Објашњење: Можете набавити воће на следећи начин:
- Купите 1-во воће за 1 новчић, дозвољено вам је да узмете 2-во воће бесплатно.
- Узмите 2-во воће бесплатно.
- Купите 3-ће воће за 1 новчић, дозвољено вам је да узмете 4-о воће бесплатно.
- Узмите 4-о воће бесплатно.
Може се доказати да је 2 минималан број новчића потребних за све воће.

Ограничења:

1 <= prices.length <= 1000
1 <= prices[i] <= 10^5

На пијаци сте и видите различите врсте егзотичног воћа.
Добили сте низ prices, који је индексиран од 1, где prices[i] означава број новчића потребних да купите i-то воће.
Пијаца има следећу понуду:

Ако купите i-то воће за prices[i] новчића, можете добити наредних i воћа бесплатно.

Запазите да чак и ако можете узети воће j бесплатно, можете га и даље купити за prices[j] новчића да бисте добили нову понуду.
Вратите минималан број новчића потребних за све воће.

Пример 1:

Улаз: prices = [3,1,2]
Излаз: 4
Објашњење: Можете набавити воће на следећи начин:
- Купите 1-во воће за 3 новчића, дозвољено вам је да узмете 2-во воће бесплатно.
- Купите 2-во воће за 1 новчић, дозвољено вам је да узмете 3-ће воће бесплатно.
- Узмите 3-ће воће бесплатно.
Запазите да иако вам је било дозвољено да узмете 2-во воће бесплатно, купили сте га јер је то оптималније.
Може се доказати да је 4 минималан број новчића потребних за све воће.

Пример 2:

Улаз: prices = [1,10,1,1]
Излаз: 2
Објашњење: Можете набавити воће на следећи начин:

- Купите прво воће за 1 новчић, дозвољено вам је да узмете друго воће бесплатно.
- Узмите друго воће бесплатно.
- Купите треће воће за 1 новчић, дозвољено вам је да узмете четврто воће бесплатно.
- Узмите четврто воће бесплатно.
- Може се доказати да су 2 минимални број новчића потребни за набавку свих воћки.

Ограничења:

1 <= prices.length <= 1000
1 <= prices[i] <= 10^5


Дат вам је низ s и позитиван цео број k.
Нека број самогласника и сугласника у низу буду означени као самогласници и сугласници.
Низ је леп ако:

самогласници == сугласници.
(самогласници * сугласници) % k == 0, другим речима, производ самогласника и сугласника је дељив са k.

Вратити број непразних лепих поднизова у датом низу s.
Подниз је континуална секвенца карактера у низу.
Самогласници у енглеском су 'a', 'e', 'i', 'o', и 'u'.
Сугласници у енглеском су сваки словни знак изузев самогласника.

Пример 1:

Улаз: s = "baeyh", k = 2
Излаз: 2
Објашњење: Постоје 2 лепа подниза у датом низу.
- Подниз "baeyh", самогласници = 2 (["a", "e"]), сугласници = 2 (["y", "h"]).
Можете видети да је низ "aeyh" леп јер су самогласници == сугласници и самогласници * сугласници % k == 0.
- Подниз "baeyh", самогласници = 2 (["a", "e"]), сугласници = 2 (["b", "y"]).
Можете видети да је низ "baey" леп јер су самогласници == сугласници и самогласници * сугласници % k == 0.
Може се показати да постоје само 2 лепа подниза у датом низу.

Пример 2:

Улаз: s = "abba", k = 1
Излаз: 3
Објашњење: Постоје 3 лепа подниза у датом низу.
- Подниз "abba", самогласници = 1 (["a"]), сугласници = 1 (["b"]).
- Подниз "abba", самогласници = 1 (["a"]), сугласници = 1 (["b"]).
- Подниз "abba", самогласници = 2 (["a", "a"]), сугласници = 2 (["b", "b"]).
Може се показати да постоје само 3 лепа подниза у датом низу.

Пример 3:

Улаз: s = "bcdf", k = 1
Излаз: 0
Објашњење: Нема лепих поднизова у датом низу.

Ограничења:

1 <= s.length <= 1000
1 <= k <= 1000
s се састоји само од енглеских малих слова.

Дат вам је низ с и позитиван цео број к.
Нека самогласници и сугласници буду број самогласници и сугласници у низу.
Низ је леп ако:

самогласници == сугласници.
(vowels * consonants) % k == 0, у другим терминима множење самогласници и сугласници је дељиво са к.

Врати број непразних лепих подстрингова у датом низу с.
Подниз је непрекидни низ знакова у низу.
Самогласна слова на енглеском су 'a', 'e', 'i', 'o' и 'u'.
Сугласничка слова у енглеском су свако слово осим самогласници.

Пример 1:

Улаз: s = "baeyh", k = 2
Излаз: 2
Објашњење: Постоје 2 лепа подниза у датом низу.
- Подниз "baeyh", самогласници = 2 (["а", "е"]), сугласници = 2 (["y","h"]).
Можете видети да је низ "aeyh" леп као самогласници == сугласници и самогласници * сугласници % к == 0.
- Подниз "baeyh", самогласници = 2 (["а", "е"]), сугласници = 2 (["b","y"]).
Можете видети да је низ "baey" леп као самогласници == сугласници и самогласници * сугласници % к == 0.
Може се показати да у датом низу постоје само 2 лепа подниза.

Пример 2:

Улаз: s = "abba", k = 1
Излаз: 3
Објашњење: Постоје 3 лепа подниза у датом низу.
- Подниз "abba", самогласници = 1 (["а"]), сугласници = 1 (["b"]).
- Подниз "abba", самогласници = 1 (["а"]), сугласници = 1 (["b"]).
- Подниз "abba", самогласници = 2 (["а","а"]), сугласници = 2 (["b","b"]).
Може се показати да у датом низу постоје само 3 лепа подниза.

Пример 3:

Улаз: s = "bcdf", k = 1
Излаз: 0
Објашњење: У датом низу нема лепих поднизова.

Ограничења:

1 <= s.length <= 1000
1 <= k <= 1000
с се састоји само од енглеских малих слова.

Дат вам је низ знакова s и позитиван целобројни број k.
Нека vowels и consonants буду број самогласника и број сугласника у низу.
Низ је леп ако:

vowels == consonants.
(vowels * consonants) % k == 0, другим речима, производ самогласника и сугласника је делљив са k.

Вратите број не-празних лепих поднизова у датом низу s.
Подниз је континуирана секвенца знакова у низу.
Самогласници у енглеском језику су 'a', 'e', 'i', 'o', и 'u'.
Сугласници у енглеском језику су сва слова осим самогласника.

Пример 1:

Улаз: s = "baeyh", k = 2
Излаз: 2
Објашњење: Постоје 2 лепа подниза у датом низу.
- Подниз "baeyh", самогласници = 2 (["a", "e"]), сугласници = 2 (["y", "h"]).
Можете видети да је низ "aeyh" леп јер су самогласници == сугласници и самогласници * сугласници % k == 0.
- Подниз "baeyh", самогласници = 2 (["a", "e"]), сугласници = 2 (["b", "y"]).
Можете видети да је низ "baey" леп јер су самогласници == сугласници и самогласници * сугласници % k == 0.
Може се показати да постоје само 2 лепа подниза у датом низу.

Пример 2:

Улаз: s = "abba", k = 1
Излаз: 3
Објашњење: Постоје 3 лепа подниза у датом низу.
- Подниз "abba", самогласници = 1 (["a"]), сугласници = 1 (["b"]).
- Подниз "abba", самогласници = 1 (["a"]), сугласници = 1 (["b"]).
- Подниз "abba", самогласници = 2 (["a", "a"]), сугласници = 2 (["b", "b"]).
Може се показати да постоје само 3 лепа подниза у датом низу.

Пример 3:

Улаз: s = "bcdf", k = 1
Излаз: 0
Објашњење: Нема лепих поднизова у датом низу.

Ограничења:

1 <= s.length <= 1000
1 <= k <= 1000
s се састоји само од енглеских малих слова.


Дат је цео бројевни низ са индексом 0, nums.
Можете извршити било који број операција, где свака операција подразумева одабир подниза низа и његову замену са збиром његових елемената. На пример, ако је дати низ [1,3,5,6] и изаберете подниз [3,5] низ ће се претворити у [1,8,6].
Вратите максималну дужину не-опадајућег низа који се може направити након примене операција.
Подниз је континуирани непразан низ елемената унутар низа.

Пример 1:

Улаз: nums = [5,2,2]
Излаз: 1
Објашњење: Овај низ са дужином 3 није не-опадајући.
Имамо два начина да направимо низ дужине два.
Први, избор подниза [2,2] претвара низ у [5,4].
Други, избор подниза [5,2] претвара низ у [7,2].
На ова два начина низ није не-опадајући.
Ако изаберемо подниз [5,2,2] и заменимо га са [9] постаје не-опадајући.
Тако да је одговор 1.

Пример 2:

Улаз: nums = [1,2,3,4]
Излаз: 4
Објашњење: Низ је не-опадајући. Тако да је одговор 4.

Пример 3:

Улаз: nums = [4,3,2,6]
Излаз: 3
Објашњење: Замена [3,2] са [5] претвара дати низ у [4,5,6] који је неопадајући.
Зато што дати низ није неопадајући, максималан могући одговор је 3.

Ограничења:

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

Дат вам је низ бројева индексираних целих бројева са 0.
Можете извршити било који број операција, при чему свака операција укључује одабир подниза низа и његову замену збиром његових елемената. На пример, ако је дати низ [1,3,5,6] и изаберете подниз [3,5], низ ће се конвертовати у [1,8,6].
Врати максималну дужину неопадајућег низа која се може направити након примене операција.
Подниз је непрекидан непразан низ елемената унутар низа.

Пример 1:

Улаз: nums = [5,2,2]
Излаз: 1
Објашњење: Овај низ дужине 3 није неопадајући.
Имамо два начина да смањимо дужину низа на два.
Прво, избор подниза [2,2] конвертује низ у [5,4].
Друго, избор подниза [5,2] конвертује низ у [7,2].
На ова два начина низ није неопадајући.
А ако изаберемо подниз [5,2,2] и заменимо га са [9], он постаје неопадајући.
Дакле, одговор је 1.

Пример 2:

Улаз: nums = [1,2,3,4]
Излаз: 4
Објашњење: Низ је неопадајући. Дакле, одговор је 4.

Пример 3:

Улаз: nums = [4,3,2,6]
Излаз: 3
Објашњење: Замена [3,2] са [5] конвертује дати низ у [4,5,6] који није опадајући.
Пошто дати низ није неопадајући, максимални могући одговор је 3.

Ограничења:

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

Дат вам је низ целих бројева nums са индексом 0. Можете извршити било који број операција, где свака операција подразумева избор подниза низа и замену са сумом његових елемената. На пример, ако је дат низ [1,3,5,6] и изаберете подниз [3,5], низ ће се претворити у [1,8,6]. Вратите максималну дужину неопадајућег низа који може бити направљен након примене операција. Подниз је континуирана не-празна секвенца елемената унутар низа.

Пример 1:

Улаз: nums = [5,2,2]
Излаз: 1
Објашњење: Овај низ са дужином 3 није не-опадајући.
Имамо два начина да направимо низ дужине два.
Први, избор подниза [2,2] претвара низ у [5,4].
Други, избор подниза [5,2] претвара низ у [7,2].
На ова два начина низ није не-опадајући.
Ако изаберемо подниз [5,2,2] и заменимо га са [9] постаје не-опадајући.
Тако да је одговор 1.

Пример 2:

Улаз: nums = [1,2,3,4]
Излаз: 4
Објашњење: Низ је не-опадајући. Тако да је одговор 4.

Пример 3:

Улаз: nums = [4,3,2,6]
Излаз: 3
Објашњење: Замењивањем [3,2] са [5] дати низ се претвара у [4,5,6] што је не-опадајуће.
Пошто дати низ није не-опадајући, максимално могући одговор је 3.

Ограничења:

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


Дат је низ "nums" са 0-базираним индексом који се састоји од позитивних целих бројева.
Партиција низа у један или више суседних подниза се назива добром ако ниједна два подниза не садрже исти број.
Вратите укупан број добрих партиција од "nums".
Пошто одговор може бити велики, вратите га модуло 10 ^ 9 + 7.

Пример 1:

Улаз : nums = [1,2,3,4]
излаз : 8
Објашњење : 8 могућих добрих партиција су: ([1], [2], [3], [4]), ([1], [2], [3,4]), ([1], [2,3], [4]), ([1], [2,3,4]), ([1,2], [3], [4]), ([1,2], [3,4]), ([1,2,3], [4]) и ([1,2,3,4]).

Пример 2:

Улаз : nums = [1,1,1,1]
излаз : 1
Објашњење: Једина могућа добра подела је: ([1,1,1,1]).

Пример 3:

Улаз : nums = [1,2,1,3]
излаз : 2
Објашњење : 2 могуће добре партиције су: ([1,2,1], [3]) и ([1,2,1,3]).

Ограничења:

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

Дат вам је низ nums индексиран од 0 који се састоји од позитивних целих бројева.
Партиција низа у једну или више континуираних подниза се назива добром ако ни два подниза не садрже исти број.
Вратите укупан број добрих партиција низа nums.
Пошто одговор може бити велики, вратите га узмана 10^9 + 7.

Пример 1:

Улаз: nums = [1,2,3,4]
Излаз: 8
Објашњење: 8 могућих добрих партиција су: ([1], [2], [3], [4]), ([1], [2], [3,4]), ([1], [2,3], [4]), ([1], [2,3,4]), ([1,2], [3], [4]), ([1,2], [3,4]), ([1,2,3], [4]), и ([1,2,3,4]).

Пример 2:

Улаз: nums = [1,1,1,1]
Излаз: 1
Објашњење: Једина могућа добра партиција је: ([1,1,1,1]).

Пример 3:

Улаз: nums = [1,2,1,3]
Излаз: 2
Објашњење: 2 могуће добре партиције су: ([1,2,1], [3]) и ([1,2,1,3]).

Ограничења:

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

Imate dat niz `nums`, indeksiran od 0, koji se sastoji od pozitivnih celih brojeva.
Particija niza na jednu ili više uzastopnih podnizova naziva se dobrom ako nijedna dva podniza ne sadrže isti broj.
Vratite ukupan broj dobrih particija niza `nums`.
S obzirom na to da rezultat može biti veliki broj, vratite ga modulo 10^9 + 7.

Пример 1:

Улаз: nums = [1,2,3,4]
Излаз: 8
Објашњење: 8 могућих добрих партиција су: ([1], [2], [3], [4]), ([1], [2], [3,4]), ([1], [2,3], [4]), ([1], [2,3,4]), ([1,2], [3], [4]), ([1,2], [3,4]), ([1,2,3], [4]), и ([1,2,3,4]).

Пример 2:

Улаз: nums = [1,1,1,1]
Излаз: 1
Објашњење: Једина могућа добра партиција је: ([1,1,1,1]).

Пример 3:

Улаз: nums = [1,2,1,3]
Излаз: 2
Објашњење: 2 могуће добре партиције су: ([1,2,1], [3]) и ([1,2,1,3]).

Ограничења:

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


Дат вам је низ целих бројева nums и позитиван цео број k.
Вратите број подниза где се максимум елемента из nums појављује најмање k пута у том поднизу.
Подниз је континуална секвенца елемената унутар низа.

Пример 1:

Улаз: nums = [1,3,2,3,3], k = 2
Излаз: 6
Објашњење: Поднизови који садрже елемент 3 најмање 2 пута су: [1,3,2,3], [1,3,2,3,3], [3,2,3], [3,2,3,3], [2,3,3] и [3,3].

Пример 2:

Улаз: nums = [1,4,2,1], k = 3
Излаз: 0
Објашњење: Ниједан подниз не садржи елемент 4 најмање 3 пута.

Ограничења:

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

Дат вам је низ целих бројева nums и позитиван цео број k.
Вратите број подниза где се максимални елемент низа nums појављује барем k пута у том поднизу.
Подниз је континуирана секвенца елемената унутар низа.

Пример 1:

Улаз: nums = [1,3,2,3,3], k = 2
Излаз: 6
Објашњење: Поднизови који садрже елемент 3 најмање 2 пута су: [1,3,2,3], [1,3,2,3,3], [3,2,3], [3,2,3,3], [2,3,3] и [3,3].

Пример 2:

Улаз: nums = [1,4,2,1], k = 3
Излаз: 0
Објашњење: Ниједан подниз не садржи елемент 4 најмање 3 пута.

Ограничења:

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

Дат вам је целобројни низ бројева и позитиван цео број к.
Врати број поднизова у којима се максимални елемент бројева појављује најмање к пута у том поднизу.
Подниз је непрекидни низ елемената унутар низа.

Пример 1:

Улаз: бnums = [1,3,2,3,3], k = 2
Излаз: 6
Објашњење: Поднизови који садрже елемент 3 најмање 2 пута су: [1,3,2,3], [1,3,2,3,3], [3,2,3], [3,2, 3,3], [2,3,3] и [3,3].

Пример 2:

Улаз: nums = [1,4,2,1], k = 3
Излаз: 0
Објашњење: Ниједан подниз не садржи елемент 4 најмање 3 пута.

Ограничења:

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