Имаш дати низ `nums` индексиран од 0, који се састоји од позитивних целих бројева.
Можеш извршити следећу операцију на низу било који број пута:

Изабери целобројни `i` такав да је `0 <= i < nums.length - 1` и `nums[i] <= nums[i + 1]`. Замени елемент `nums[i + 1]` са `nums[i] + nums[i + 1]` и избриши елемент `nums[i]` из низа.

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

Пример 1:

Улаз: nums = [2,3,7,9,3]
Излаз: 21
Објашњење: Можемо применити следеће операције на низ:
- Изабери i = 0. Резултујући низ ће бити nums = [5,7,9,3].
- Изабери i = 1. Резултујући низ ће бити nums = [5,16,3].
- Изабери i = 0. Резултујући низ ће бити nums = [21,3].
Највећи елемент у коначном низу је 21. Може се показати да не можемо добити већи елемент.

Пример 2:

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

Ограничења:

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

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

Изаберите цели број и тако да 0 <= i < nums.length - 1 and nums[i] <= nums[i + 1]. Замените бројеве елемента [i + 1] са nums[i] + nums[i + 1] и избришем елемент nums[i] од низа.

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

Пример 1:

Улаз: nums = [2,3,7,9,3]
Излаз: 21
Објашњење: Следеће операције можемо применити на низу:
- Изабери i = 0. Резултујући низ ће бити nums = [5,7,9,3].
- Изабери i = 1. Резултујући низ ће бити nums = [5,16,3].
- Изабери i = 0. Резултујући низ ће бити nums = [21,3].
Највећи елемент у финалном низу је 21. Може се показати да не можемо да добијемо већи елемент.

Пример 2:

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

ОГРАНИЧЕЊА:

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

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

Изабери целобројни i такав да је 0 <= i < nums.length - 1 и nums[i] <= nums[i + 1]. Замени елемент nums[i + 1] са nums[i] + nums[i + 1] и избриши елемент nums[i] из низа.

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

Пример 1:

Улаз: nums = [2,3,7,9,3]
Излаз: 21
Објашњење: Можемо применити следеће операције на низ:
- Изабери i = 0. Резултујући низ ће бити nums = [5,7,9,3].
- Изабери i = 1. Резултујући низ ће бити nums = [5,16,3].
- Изабери i = 0. Резултујући низ ће бити nums = [21,3].
Највећи елемент у коначном низу је 21. Може се показати да не можемо добити већи елемент.

Пример 2:

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

Ограничења:

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


Date vam је задат цео број n. Кажемо да два цела броја x и y чине пару простих бројева ако:

1 <= x <= y <= n
x + y == n
x и y су прости бројеви

Вратите сортирану 2D листу парова простих бројева [x_i, y_i]. Листа треба бити сортирана по растућем редоследу x_i. Ако нема парова простих бројева, вратите празан низ.

Напомена: Прост број је природан број већи од 1 који има само два фактора, себе и 1.

Пример 1:

Улаз: n = 10
Излаз: [[3,7],[5,5]]
Објашњење: У овом примеру постоје два пара простих бројева који задовољавају критеријуме.
Ови парови су [3,7] и [5,5], и враћамо их у сортираном редоследу као што је описано у задатку.

Пример 2:

Улаз: n = 2
Излаз: []
Објашњење: Можемо показати да не постоји пар простих бројева који даје збир 2, тако да враћамо празан низ.

Ограничења:

1 <= n <= 10^6

Дат вам је цео број n. Кажемо да два цела броја x и y чине пар простих бројева ако:

1 <= x <= y <= n
x + y == n
x и y су прости бројеви

Вратите сортирану 2D листу парова простих бројева [x_i, y_i]. Листа треба бити сортирана по растућем редоследу x_i. Ако нема парова простих бројева, вратите празан низ.

Напомена: Прост број је природан број већи од 1 који има само два чиниоца, себе и 1.

Пример 1:

Улаз: n = 10
Излаз: [[3,7],[5,5]]
Објашњење: У овом примеру постоје два пара простих бројева који задовољавају критеријуме.
Ови парови су [3,7] и [5,5], и враћамо их у сортираном редоследу као што је описано у задатку.

Пример 2:

Улаз: n = 2
Излаз: []
Објашњење: Можемо показати да не постоји пар простих бројева који даје збир 2, тако да враћамо празан низ.

Ограничења:

1 <= n <= 10^6

Дат вам је цео број n. Кажемо да два цела броја x и y чине пар простих бројева ако:

1 <= x <= y <= n
x + y == n
x и y су прости бројеви

Вратите 2D сортирану листу парова простих бројева [x_i, y_i]. Листу треба сортирати по растућем редоследу од x_i. Ако уопште нема парова простих бројева, вратите празан низ.
Напомена: Прост број је природан број већи од 1 са само два фактора, самим собом и 1.

Пример 1:

Улаз: n = 10
Излаз: [[3,7],[5,5]]
Објашњење: У овом примеру постоје два основна пара која задовољавају критеријуме.
Ови парови су [3,7] и [5,5], и враћамо их сортираним редоследом како је описано у исказу проблема.

Пример 2:

Улаз: n = 2
Излаз: []
Објашњење: Можемо показати да не постоји пар простих бројева који даје збир 2, тако да враћамо празан низ.

Ограничења:

1 <= n <= 10^6


У компанији се налази н запослених, нумерисана од 0 до n - 1. Сваки запослени i је радио hours[i] сати у компанији.
Компанија захтева сваког запосленог да ради најмање циљан број сати.
Добили сте 0-индексиран низ не-негативних целих бројева дужине n и не-негативан цели број.
Вратите цели број који означава број запослених који су радили барем циљан број сати.

Пример 1:

Улаз: hours = [0,1,2,3,4], target = 2
Излаз: 3
Објашњење: Компанија жели да сваки запослени ради најмање 2 сата.
- Запослени 0 радио је 0 сати и није задовољио циљ.
- Запослени 1 радио је 1 сат и није задовољио циљ.
- Запослени 2 је радио 2 сата и испунио мету.
- Запослени 3 радио је 3 сата и испунио је циљ.
- Запослени 4 радио је 4 сата и испунио је циљ.
Постоје 3 запослене који су испунили мету.

Пример 2:

Улаз: hours = [5,1,4,2,2], target = 6
Излаз: 0
Објашњење: Компанија жели да сваки запослени ради најмање 6 сати.
Постоје 0 запослених који су испунили мету.

Ограничења:

1 <= n == hours.length <= 50
0 <= hours[i], target <= 10^5

Дати су n запослених у компанији, номеровани од 0 до n - 1. Свакa радник i је радио за hours[i] сати у компанији.
Компанија захтева да сви запослени раде најмање target сати.
Дат је 0-индексиран низ не-негативних целобројних вредности hours дужине n и не-негативан целобројни target.
Вратите цео број који представља број запослених који су радили најмање target сати.

Пример 1:

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

Пример 2:

Улаз: hours = [5,1,4,2,2], target = 6
Излаз: 0
Објашњење: Компанија жели да сваки запослени ради бар 6 сати.
Постоји 0 запослених који су задовољили циљ.

Ограничења:

1 <= n == hours.length <= 50
0 <= hours[i], target <= 10^5

У компанији је n запослених, нумерисани од 0 до n - 1. Сваки запослени i је радио hours[i] сати у компанији.
Компанија захтева да сваки запослени ради барем target сати.
Дата је нумерисана листа ненегативних целих бројева hours дужине n и ненегативан целобројни target.
Вратите цео број који означава број запослених који су радили бар target сати.

Пример 1:

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

Пример 2:

Улаз: hours = [5,1,4,2,2], target = 6
Излаз: 0
Објашњење: Компанија жели да сваки запослени ради барем 6 сати.
Постоји 0 запослених који су испунили циљ.

Ограничења:

1 <= n == hours.length <= 50
0 <= hours[i], target <= 10^5


С обзиром на три низа а, b и c, ваш задатак је да пронађете стринг који има минималну дужину и који садржи сва три низа као подстрингове.
Ако постоји више таквих низова, вратите лексикографски најмањи.
Вратите стринг који означава одговор на проблем.
Напомене

Низ а је лексикографски мањи од стринга b (исте дужине) ако на првој позицији где се а и б разликују, низ а има слово које се појављује раније у абецеди од одговарајућег слова у b.
Подниз је непрекидни низ знакова унутар стринга.

Пример 1:

Улаз:  a = "abc", b = "bca", c = "aaa"
Излаз: "aaabca"
Објашњење: Показујемо да "ааабца" садржи све дате низове: a = ans[2...4], b = ans[3..5], c = ans[0..2]. Може се показати да би дужина резултујућег низа била најмање 6, а "aaabca" је лексикографски најмања.
Пример 2:

Улаз: a = "ab", b = "ba", c = "aba"
Излаз: "aba"
Објашњење: Показујемо да стринг "aba" садржи све дате низове: a = ans[0..1], b = ans[1..2], c = ans[0..2]. Пошто је дужина c 3, дужина резултујућег низа би била најмање 3. Може се показати да је „aba“ лексикографски најмања.

Ограничења:

1 <= a.length, b.length, c.length <= 100
a, b, c се састоје само од малих енглеских слова.

С обзиром на три низа а, b и c, ваш задатак је да пронађете низ који има минималну дужину и садржи сва три низа као подстрингове.
Ако постоји више таквих низова, вратите лексикографски најмањи.
Врати стринг који означава одговор на проблем.
Белешке

Ниска a је лексикографски мања од ниске b (исте дужине) ако на првој позицији где се a и b разликују, ниска a има слово које се појављује раније у абецеди од одговарајућег слова у b.
Подстринг је суседни низ знакова унутар низа.

Пример 1:

Улаз : a = "abc", b = "bca", c = "aaa"
Излаз : "aaabca"
Објашњење: Показујемо да"aaabca" садржи све дате низове: a = ans[2...4], b = ans[3..5], c = ans[0..2]. Може се показати да би дужина резултујућег низа била најмање 6, а"aaabca" је лексикографски најмањи.
Пример 2:

Улаз : a = "ab", b = "ba", c = "aba"
Излаз : "aba"
Објашњење: Показали смо да низ "aba" садржи све дате низове: a = ans[0..1], b = ans[1..2], c = ans[0..2]. Пошто је дужина c 3, дужина резултујућег низа би била најмање 3. Може се показати да је "aba" лексикографски најмањи.

Ограничења:

1 <= a.length, b.length, c.length <= 100
а , b, c се састоје само од малих енглеских слова.

Дате су три ниске a, b и c, ваш задатак је да пронађете ниску која има минималну дужину и садржи све три ниске као подниске.
Ако постоји више таквих низова, вратите лексикографски најмањи.
Вратите ниску која представља одговор на задатак.

Напомене:

Ниска a је лексикографски мања од ниске b (исте дужине) ако на првој позицији где се a и b разликују, ниска a има слово које се појављује раније у абецеди него одговарајуће слово у b.
Подниска је континуирани низ карактера унутар ниске.

Пример 1:

Улаз: a = "abc", b = "bca", c = "aaa"
Излаз: "aaabca"
Објашњење: Показујемо да "aaabca" садржи све дате ниске: a = ans[2...4], b = ans[3..5], c = ans[0..2]. Може се показати да би дужина резултирајуће ниске била најмање 6 и да је "aaabca" лексикографски најмања.

Пример 2:

Улаз: a = "ab", b = "ba", c = "aba"
Излаз: "aba"
Објашњење: Показујемо да ниска "aba" садржи све дате ниске: a = ans[0..1], b = ans[1..2], c = ans[0..2]. Пошто је дужина c 3, дужина резултирајуће ниске би била најмање 3. Може се показати да је "aba" лексикографски најмања.

Ограничења:

1 <= a.length, b.length, c.length <= 100

a, b, c се састоје само од малих енглеских слова.


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

Изаберите било који подниз величине k из низа и смањите све његове елементе за 1.

Вратите true ако можете учинити све елементе низа једнаким 0, или false у супротном.
Подниз је континуирани, не-празан део низа.

Пример 1:

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

Пример 2:

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

Ограничења:

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

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

Изаберите било који подниз величине k из низа и смањите све његове елементе за 1.

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

Пример 1:

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

Пример 2:

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

Ограничења:

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

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

Изаберите било који подниз величине k из низа и смањите све његове елементе за 1.

Вратите true ако можете учинити све елементе низа једнаким 0, или false у супротном.
Подниз је континуирани, не-празни део низа.

Пример 1:

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

Пример 2:

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

Ограничења:

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


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

Напомене

Стринг је палиндром ако се чита исто с лева на десно и с десна на лево.
Стринг са дужином len се сматра полу-палиндромом ако постоји позитиван цео број d такав да је 1 <= d < len и len % d == 0, и ако узмемо индексе који имају исти модуло по d, они формирају палиндром. На пример, "aa", "aba", "adbgad" и "abab" су полу-палиндроми, а "a", "ab" и "abca" нису.
Подстринг је континуална секвенца карактера унутар стринга.

Пример 1:

Улаз: s = "abcac", k = 2
Излаз: 1
Објашњење: Можемо поделити s на подстрингове "ab" и "cac". Стринг "cac" је већ полу-палиндром. Ако променимо "ab" у "aa", постаје полу-палиндром са d = 1.
Може се показати да не постоји начин да се стринг "abcac" подели на два полу-палиндромска подстринга. Дакле, одговор би био бар 1.
Пример 2:

Улаз: s = "abcdef", k = 2
Излаз: 2
Објашњење: Можемо га поделити на подстрингове "abc" и "def". Сваки од подстрингова "abc" и "def" захтева једну промену да постане полу-палиндром, тако да су нам потребне 2 промене укупно да сви подстрингови буду полу-палиндроми.
Може се показати да не можемо поделити дати стринг на два подстринга на начин да захтева мање од 2 промене.
Пример 3:

Улаз: s = "aabbaa", k = 3
Излаз: 0
Објашњење: Можемо га поделити на подстрингове "aa", "bb" и "aa".
Стринг "aa" и "bb" су већ полу-палиндроми. Према томе, одговор је нула.

Ограничења:

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

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

Низ је палиндром ако се може читати на исти начин с лева на десно и здесна налево.
Низ дужине лен се сматра полупалиндромом ако постоји позитиван цео број д такав да је 1 <= d < len и len % d == 0, а ако узмемо индексе који имају исти модул са д, они формирају палиндром. На пример, "аа", "aba", "adbgad" и, "abab" су полупалиндром, а "а", "ab" и, "abca" нису.
Подниз је непрекидни низ знакова унутар стринга.

Пример 1:

Улаз: s = "abcac", k = 2
Излаз: 1
Објашњење: Можемо поделити с на поднизове "ab" и "cac". Низ "cac" је већ полупалиндром. Ако променимо "ab" у "аа", он постаје полупалиндром са д = 1.
Може се показати да не постоји начин да се стринг "abcac" подели на два полупалиндромска подниза. Дакле, одговор би био најмање 1.
Пример 2:

Улаз: s = "abcdef", k = 2
Излаз: 2
Објашњење: Можемо га поделити на поднизове "abc" и "def". Сваки од поднизова "abc" и "def" захтева једну промену да би постао полупалиндром, тако да су нам потребне 2 промене укупно да би сви поднизови постали полупалиндром.
Може се показати да не можемо да поделимо дати низ на два подниза на начин да би то захтевало мање од 2 промене.
Пример 3:

Улаз: s = "aabbaa", k = 3
Излаз: 0
Објашњење: Можемо га поделити на поднизове "аа", "bb" и "аа".
Низови "аа" и "bb" су већ полупалиндроми. Дакле, одговор је нула.

Ограничења:

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


Дат је низ стрингова words и карактер separator, подели сваки стринг у words одвајањем са separator.
Врати низ стрингова који садржи нове стрингове настале након раздвајања, искључујући празне стрингове.
Напомене

separator се користи за одређивање где треба да се раздваја, али није укључен као део резултујућих стрингова.
Раздвајање може резултирати у више од два стринга.
Резултујући стрингови морају задржати исти редослед као што су били почетно дати.

Пример 1:

Улаз: words = ["one.two.three","four.five","six"], separator = "."
Излаз: ["one","two","three","four","five","six"]
Објашњење: У овом примеру раздвајамо на следећи начин:

"one.two.three" се раздваја на "one", "two", "three"
"four.five" се раздваја на "four", "five"
"six" се раздваја на "six"

Стога је резултујући низ ["one","two","three","four","five","six"].
Пример 2:

Улаз: words = ["$easy$","$problem$"], separator = "$"
Излаз: ["easy","problem"]
Објашњење: У овом примеру раздвајамо на следећи начин:

"$easy$" се раздваја на "easy" (искључујући празне стрингове)
"$problem$" се раздваја на "problem" (искључујући празне стрингове)

Стога је резултујући низ ["easy","problem"].

Пример 3:

Улаз: words = ["|||"], separator = "|"
Излаз: []
Објашњење: У овом примеру резултујуће раздвајање "|||" ће садржати само празне стрингове, дакле враћамо празан низ [].

Ограничења:

1 <= words.length <= 100
1 <= words[i].length <= 20
карактери у words[i] су или мала енглеска слова или карактери из стринга ".,|$#@" (искључујући наводнике)
separator је карактер из стринга ".,|$#@" (искључујући наводнике)


Дати су два позитивна броја n и x.
Вратите број начина на које се n може изразити као збир x-те степеноване вредности јединствених позитивних целих бројева, другим речима, број сета јединствених целих бројева [n_1, n_2, ..., n_k] где важи n = n_1^x + n_2^x + ... + n_k^x.
Б пошто резултат може бити веома велики, вратите га модулом 10^9 + 7.
На пример, ако је n = 160 и x = 3, један начин да се изрази n је n = 2^3 + 3^3 + 5^3.

Пример 1:

Улаз: n = 10, x = 2
Излаз: 1
Објашњење: Можемо изразити n на следећи начин: n = 3^2 + 1^2 = 10.
Може се показати да је то једини начин да изразимо 10 као збир друге степени уникатних бројева.

Пример 2:

Улаз: n = 4, x = 1
Излаз: 2
Објашњење: Можемо изразити n на следеће начине:
- n = 4^1 = 4.
- n = 3^1 + 1^1 = 4.

Ограничења:

1 <= n <= 300
1 <= x <= 5

С обзиром на два позитивна цела броја n и x.
Вратите број начина на који се н може изразити као збир x-те снаге јединствених позитивних целих бројева, другим речима, броја скупова јединствених целих бројева [n_1, n_2, ..., n_k] где је n = n_1^x + n_2^x + ... + n_k^x.

Пошто резултат може бити веома велик, вратите га модул 10^9 + 7.
На пример, ако су n = 160 и x = 3, један од начина изражавања n је n = 2^3 + 3^3 + 5^3.

Пример 1:

Улаз: n = 10, x = 2
Излаз: 1
Објашњење: Можемо изразити н као следеће: n = 3^2 + 1^2 = 10.
Може се показати да је то једини начин да изразимо 10 као збир друге степени уникатних бројева.

Пример 2:

Улаз: n = 4, x = 1
Излаз: 2
Објашњење: Можемо изразити n на следеће начине:
- n = 4 ^ 1 = 4.
- n = 3 ^ 1 ^ 1 = 4.

Ограничења:

1 <= n <= 300
1 <= x <= 5

Дате су две позитивне целине бројеви n и x.
Вратите број начина на које n може бити изражен као збир x-те степени уникатних позитивних целих бројева, другим речима, број скупова уникатних бројева [n_1, n_2, ..., n_k] где је n = n_1^x + n_2^x + ... + n_k^x.
Пошто резултат може бити веома велики, вратите га по модулу 10^9 + 7.
На пример, ако је n = 160 и x = 3, један начин да изразимо n је n = 2^3 + 3^3 + 5^3.

Пример 1:

Улаз: n = 10, x = 2
Излаз: 1
Објашњење: Можемо изразити n на следећи начин: n = 3^2 + 1^2 = 10.
Може се показати да је то једини начин да изразимо 10 као збир друге степени уникатних бројева.

Пример 2:

Улаз: n = 4, x = 1
Излаз: 2
Објашњење: Можемо изразити n на следеће начине:
- n = 4^1 = 4.
- n = 3^1 + 1^1 = 4.

Ограничења:

1 <= n <= 300
1 <= x <= 5


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

- Не садржи водеће нуле.
- То је бинарна репрезентација броја који је степен 5.

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

Пример 1:

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

Пример 2:

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

Пример 3:

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

Ограничења:

1 <= s.length <= 15
s[i] је или '0' или '1'.

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

Не садржи водеће нуле.
То је бинарни приказ броја који је степен 5.

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

Пример 1:

Улаз: s = "1011"
Излаз: 2
Објашњење: Можемо да поделимо дати стринг на ["101", "1"].
– Низ „101“ не садржи водеће нуле и представља бинарни приказ целог броја 5^1 = 5.
– Низ „1“ не садржи водеће нуле и представља бинарни приказ целог броја 5^0 = 1.
Може се показати да је 2 минимални број лепих поднизова на које се s може поделити.

Пример 2:

Улаз: s = "111"
Излаз: 3
Објашњење: Можемо да поделимо дати стринг на ["1", "1", "1"].
– Низ „1“ не садржи водеће нуле и представља бинарни приказ целог броја 5^0 = 1.
Може се показати да је 3 минимални број лепих поднизова на које се s може поделити.

Пример 3:

Улаз: s = "0"
Излаз: -1
Објашњење: Не можемо да поделимо дати низ на лепе поднизове.

Ограничења:

1 <= s.length <= 15
s[i] је или '0' или '1'.

Дата је бинарна ниска s, поделите ниску у један или више подниски тако да свака подниска буде леп.
Ниска је лепа ако:

Не садржи водеће нуле.
То је бинарни приказ броја који је степен од 5.

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

Пример 1:

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

Пример 2:

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

Пример 3:

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

Ограничења:

1 <= s.length <= 15
s[i] је или '0' или '1'.


Дат вам је стринг word и низ стрингова forbidden.
Стринг се назива ваљним ако ниједан од његових подстрингова није присутан у forbidden.
Вратите дужину најдужег ваљног подстринга стринга word.
Подстринг је континуирани низ карактера у стрингу, који може бити празан.

Пример 1:

Улаз: word = "cbaaaabc", forbidden = ["aaa","cb"]
Излаз: 4
Објашњење: Постоји 11 ваљних подстрингова у word: "c", "b", "a", "ba", "aa", "bc", "baa", "aab", "ab", "abc" и "aabc". Дужина најдужег ваљног подстринга је 4.
Може се показати да сви други подстрингови садрже или "aaa" или "cb" као подстринг.

Пример 2:

Улаз: word = "leetcode", forbidden = ["de","le","e"]
Излаз: 4
Објашњење: Постоји 11 ваљних подстрингова у word: "l", "t", "c", "o", "d", "tc", "co", "od", "tco", "cod" и "tcod". Дужина најдужег ваљног подстринга је 4.
Може се показати да сви други подстрингови садрже или "de", "le" или "e" као подстринг.

Ограничења:

1 <= word.length <= 10^5
word садржи само мала енглеска слова.
1 <= forbidden.length <= 10^5
1 <= forbidden[i].length <= 10
forbidden[i] садржи само мала енглеска слова.

Дају вам се стринг реч и низ забрањених низова.
Низ се назива валидним ако ниједан од његових подлога није присутан забрањеном.
Вратите дужину најдуже важеће подлоге стринг речи.
Подлога је непрекидни низ знакова у низу, који може бити и празан.

Пример 1:

Улаз: word = "cbaaaabc", forbidden = ["aaa","cb"]
Излаз: 4
Објашњење: Постоји 11 важећих подлога у word: "c", "b", "a", "ba", "aa", "bc", "baa", "aab", "ab", "abc" и "aabc".  Дужина најдуже важеће подлоге је 4.
Може се показати да све остале подлоге садрже или "aaa" или "cb" као подлогу.
Пример 2:

Улаз: word = "leetcode", forbidden = ["de","le","e"]
Излаз: 4
Објашњење: Постоји 11 важећих подлога у word: "l", "t", "c", "o", "d", "tc", "co", "od", "tco", "cod" и "tcod".  Дужина најдуже важеће подлоге је 4.
Може се показати да све остале подлоге садрже или "de", "le" или "e" као подлогу.

Ограничења:

1 <= word.length <= 10^5
word садржи само мала енглеска слова.
1 <= forbidden.length <= 10^5
1 <= forbidden[i].length <= 10
forbidden[i] садржи само мала енглеска слова.

Дат вам је низ word и низ низова forbidden. Низ се зове валидан ако ниједан његов подниз није присутан у forbidden.
Вратите дужину најдужег валидног подниза низа word.
Подниз је континуирана секвенца карактера у низу, која може бити и празна.

Пример 1:

Улаз: word = "cbaaaabc", forbidden = ["aaa","cb"]
Излаз: 4
Објашњење: Постоји 11 важећих подстрингова у word: "c", "b", "a", "ba", "aa", "bc", "baa", "aab", "ab", "abc" и "aabc". Дужина најдужег важећег подстринга је 4.
Може се показати да сви други подстрингови садрже или "aaa" или "cb" као подстринг.

Пример 2:

Улаз: word = "leetcode", forbidden = ["de","le","e"]
Излаз: 4
Објашњење: Постоји 11 важећих подстрингова у word: "l", "t", "c", "o", "d", "tc", "co", "od", "tco", "cod" и "tcod". Дужина најдужег важећег подстринга је 4.
Може се показати да сви други подстрингови садрже или "de", "le" или "e" као подстринг.

Ограничења:

1 <= word.length <= 10^5
word садржи само мала енглеска слова.
1 <= forbidden.length <= 10^5
1 <= forbidden[i].length <= 10
forbidden[i] садржи само мала енглеска слова.


Тастатура на вашем лаптопу је неисправна, и кад год укуцате карактер „i“, она обрће стринг који сте до тада написали. Укуцавање осталих карактера функционише како се очекује.
Дат је стринг s индексиран од 0, и ви укуцавате сваки карактер из s користећи своју неисправну тастатуру.
Вратите коначни стринг који ће се појавити на екрану вашег лаптопа.

Пример 1:

Улаз: s = "string"
Излаз: "rtsng"
Објашњење:
Након куцања првог карактера, текст на екрану је "s".
Након другог карактера, текст је "st".
Након трећег карактера, текст је "str".
Пошто је четврти карактер 'i', текст се обрће и постаје "rts".
Након петог карактера, текст је "rtsn".
Након шестог карактера, текст је "rtsng".
Због тога враћамо "rtsng".

Пример 2:

Улаз: s = "poiinter"
Излаз: "ponter"
Објашњење:
Након првог карактера, текст на екрану је "p".
Након другог карактера, текст је "po".
Пошто је трећи карактер који куцате 'i', текст се обрће и постаје "op".
Пошто је четврти карактер који куцате 'i', текст се обрће и постаје "po".
Након петог карактера, текст је "pon".
Након шестог карактера, текст је "pont".
Након седмог карактера, текст је "ponte".
Након осмог карактера, текст је "ponter".
Због тога враћамо "ponter".

Ограничења:

1 <= s.дужина <= 100
`s` се састоји од малих англиских слова.
s[0] != 'i'

Тастатура вашег лаптопа је неисправна и кад год унесете знак 'i' на њу, она обрће стринг који сте написали. Унос других знакова ради како се очекује.
Дат вам је стринг s са индексом 0 и сваки знак s укуцате користећи своју неисправну тастатуру.
Вратите последњи низ који ће бити присутан на екрану вашег лаптопа.

Пример 1:

Улаз: с = "string"
Излаз: "rtsng"
Објашњење:
Након што унесете први знак, текст на екрану је "s".
После другог знака, текст је "st"..
После трећег знака, текст је "str".
Пошто је четврти знак „и“, текст се обрће и постаје "rts".
После петог знака, текст је "rtsn".
После шестог знака, текст је "rtsng".
Стога, враћамо "rtsng".

Пример 2:

Улаз: s = "poiinter"
Излаз: "ponter"
Објашњење:
После првог знака, текст на екрану је "p".
После другог знака, текст је "po".
Пошто је трећи знак који унесете „и“, текст се обрће и постаје "op".
Пошто је четврти знак који унесете „и“, текст се обрће и постаје "po".
После петог знака, текст је "pon".
После шестог знака, текст је "pont".
После седмог знака, текст је "ponte".
После осмог знака, текст је "ponter".
Стога, враћамо "ponter".

Ограничења:

1 <= s.дужина <= 100
s се састоји од малих англиских слова.
s[0] != 'i'

Ваш лаптоп тастатура је кварна, и сваки пут када укуцате слово 'i', она обрће цео низ који сте до тада написали. Укуцавање других слова функционише како треба.
Дат вам је низ s (индекси од 0), и ви куцате сваки карактер низа s користећи вашу кварну тастатуру.
Вратите крајњи низ који ће бити приказан на екрану вашег лаптопа.

Пример 1:

Улаз: s = "string"
Излаз: "rtsng"
Објашњење:
Након куцања првог карактера, текст на екрану је "s".
Након другог карактера, текст је "st".
Након трећег карактера, текст је "str".
Пошто је четврти карактер 'i', текст се обрће и постаје "rts".
Након петог карактера, текст је "rtsn".
Након шестог карактера, текст је "rtsng".
Због тога враћамо "rtsng".

Пример 2:

Улаз: s = "poiinter"
Излаз: "ponter"
Објашњење:
Након првог карактера, текст на екрану је "p".
Након другог карактера, текст је "po".
Пошто је трећи карактер који куцате 'i', текст се обрће и постаје "op".
Пошто је четврти карактер који куцате 'i', текст се обрће и постаје "po".
Након петог карактера, текст је "pon".
Након шестог карактера, текст је "pont".
Након седмог карактера, текст је "ponte".
Након осмог карактера, текст је "ponter".
Због тога враћамо "ponter".

Ограничења:

1 <= s.дужина <= 100
`s` се састоји од малих енглеских слова.
s[0] != 'i'


Дат је низ s, индексиран од 0, променити редослед знакова у nizu да би се добио нови низ t такав да:

Сви сугласници остају на оригиналним местима. Формалније, ако постоји индекс i са 0 <= i < s.length таквo да је s[i] сугласник, онда је t[i] = s[i].
Самогласници морају бити сортирани у недекреасирајућем редоследу њихових ASCII вредности. Формалније, за парove индекса i, j са 0 <= i < j < s.length таквo да су s[i] и s[j] самогласници, онда t[i] не сме имати вишу ASCII вредност од t[j].

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

Пример 1:

Улаз: s = "lEetcOde"
Излаз: "lEOtcede"
Објашњење: 'E', 'O' и 'e' су самогласници у s; 'l', 't', 'c' и 'd' су сви сугласници. Самогласници су сортирани према њиховим ASCII вредностима, а сугласници остају на истим местима.

Пример 2:

Улаз: s = "lYmpH"
Излаз: "lYmpH"
Објашњење: У s нема самогласника (сви знакови у s су сугласници), па враћамо "lYmpH".

Ограничења:

1 <= s.length <= 10^5
s се састоји само од слова енглеске абецеде у великим и малим словима.

С обзиром на 0-индексирану стринг С, пермутујте С да бисте добили нови стринг т такав:

Сви сугласници остају на својим оригиналним местима. Формалније, ако постоји индекс i са 0 <= i < s.length, тако да је с [и] консонантно, а затим t[i] = s[i].
Самогласници морају бити сортирани у неопадајућем редоследу њихових ASCII вредности. Формалније, за парове индекса  i, j са 0 <= i < j < s.length.тако да су s[i] и s[j]  самогласници, а затим не сме да има већу ASCII вредност од t[j].

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

Пример 1:

Инпут: s = "lEetcOde"
Излаз: "lEOtcede"
Објашњење: 'E', 'O' и 'e' су самогласници у s; 'l', 't', 'c' и 'd' су све сугласнике. Самогласници су сортирани према својим ASCII вредностима, а сугласници остају на истим местима.

Пример 2:

Улаз: s = "lYmpH"
Излаз: "lYmpH"
Објашњење: У s не постоје самогласници (сви ликови у s су сугласи), па враћамо "lYmpH".

ОГРАНИЧЕЊА:

1 <= s.length <= 10^5
s се састоји само од слова енглеске абецеде у великим и малим словима.

Дат је низ s са индексирањем од 0. Пермутирати s како би се добио нови низ t уз следеће услове:
Сви сугласници остају на оригиналним местима. Формалније, ако постоји индекс i са 0 <= i < s.length таквo да је s[i] сугласник, онда је t[i] = s[i].
Самогласници морају бити сортирани у недекреасирајућем редоследу њихових ASCII вредности. Формалније, за парove индекса i, j са 0 <= i < j < s.length таквo да су s[i] и s[j] самогласници, онда t[i] не сме имати вишу ASCII вредност од t[j].

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

Пример 1:

Улаз: s = "lEetcOde"
Излаз: "lEOtcede"
Објашњење: 'E', 'O' и 'e' су самогласници у s; 'l', 't', 'c' и 'd' су сви сугласници. Самогласници су сортирани према њиховим ASCII вредностима, а сугласници остају на истим местима.

Пример 2:

Улаз: s = "lYmpH"
Излаз: "lYmpH"
Објашњење: У s нема самогласника (сви знакови у s су сугласници), па враћамо "lYmpH".

Ограничења:

1 <= s.length <= 10^5
s се састоји само од слова енглеске абецеде у великим и малим словима.


Елемент x у низу целих бројева arr дужине m је доминантан ако је freq(x) * 2 > m, где је freq(x) број појава x у arr. Напомена: ова дефиниција имплицира да arr може имати највише један доминантан елемент.
Дат вам је целобројни низ nums индексиран од 0 дужине n са једним доминантним елементом.

Можете поделити nums на индексу i у два низа nums[0, ..., i] и nums[i + 1, ..., n - 1], али подела је ваљана само ако:

0 <= i < n - 1
nums[0, ..., i], и nums[i + 1, ..., n - 1] имају исти доминантан елемент.

Овде, nums[i, ..., j] означава подниз низa nums који почиње на индексу i и завршава се на индексу j, оба краја су укључена. Посебно, ако је j < i тада nums[i, ..., j] означава празан подниз.
Вратите најмањи индекс ваљане поделе. Ако не постоји ваљана подела, вратите -1.

Пример 1:

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

Пример 2:

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

Пример 3:

Улаз: nums = [3,3,3,3,7,2,2]
Излаз: -1
Објашњење: Може се показати да не постоји ваљана подела.

Ограничења:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
nums има тачно један доминантан елемент.

Елемент x целобројног низа arr дужине m је доминантан ако је freq(x) * 2 > m, где је freq(x) број појављивања x у arr. Напомена: ова дефиниција подразумева да arr може имати највише један доминантан елемент.
Дат вам је 0-индексирани целобројни низ nums дужине n са једним доминантним елементом.

Можете да поделите nums на индекс i у два низа nums[0, ..., i] и nums[i + 1, ..., n - 1], али поделу је могуће извршити само ако:

0 <= i < n - 1
nums[0, ..., i], и nums[i + 1, ..., n - 1] имају исти доминантан елемент.

Овде, nums[i, ..., j] означава подниз низa nums који почиње на индексу i и завршава се на индексу j, оба краја су укључена. Посебно, ако је j < i тада nums[i, ..., j] означава празан подниз.
Вратите најмањи индекс ваљане поделе. Ако не постоји ваљана подела, вратите -1.

Пример 1:

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

Пример 2:

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

Пример 3:

Инпут: nums = [3,3,3,3,7,2,2]
Оутпут: -1
Објашњење: Може се показати да не постоји ваљана подела.

Ограничења:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
nums има тачно један доминантан елемент.

Елемент x целог низа арр дужине м је доминантан ако freq(x) * 2 > m, где је freq(x) број појављивања x у арр. Имајте на уму да ова дефиниција подразумева да арр може имати највише један доминантан елемент.
Добијате 0-индексирани цео низ бројева дужине н са једним доминантним елементом.
Можете поделити нумере на индексу и у два низа nums[0, ..., i] и nums[i + 1, ..., n - 1], али подела важи само ако:

0 <= i < n - 1
nums[0, ..., i], и nums[i + 1, ..., n - 1] имају исти доминантан елемент.

Овде , nums[i, ..., j] означава подниз бројева који почињу на индексу и и завршавају на индексу ј, оба краја су инклузивна. Посебно , ако ј < i онда nums[i, ..., j] означава празан подниз.
Вратите минимални индекс важеће поделе. Ако не постоји важећа подела, вратите -1.

Пример 1:

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

Улаз : nums = [2,1,3,1,1,1,7,1,2,1]
излаз : 4
Објашњење : Можемо поделити низ на индексу 4 да добијемо низове [2,1,3,1,1] и [1,7,1,2,1].
У низу [2,1,3,1,1], елемент 1 је доминантан јер се јавља три пута у низу и 3 * 2 > 5.
У низу [1,7,1,2,1], елемент 1 је доминантан јер се јавља три пута у низу и 3 * 2 > 5.
Оба [2,1,3,1,1] и [1,7,1,2,1] имају исти доминантни елемент као нумс, тако да је ово валидна подела.
Може се показати да је индекс 4 минимални индекс важеће поделе.
Пример 3:

Улаз : nums = [3,3,3,3,7,2,2]
излаз : -1
Објашњење : Може се показати да не постоји важећа подела.

Ограничења:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
nums има тачно један доминантан елемент.


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

Изаберите индекс i који раније није изабран из опсега [0, nums.length - 1].
Замените nums[i] било којим целим бројем из опсега [nums[i] - k, nums[i] + k].

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

Пример 1:

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

Пример 2:

Улаз: nums = [1,1,1,1], k = 10
Излаз: 4
Објашњење: У овом примеру не морамо да примењујемо никакве операције.
Лепота низа nums је 4 (цео низ).

Ограничења:

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

Дат је низ nums који почиње од индекса 0 и ненегативан целобројни број k.
У једној операцији, можете урадити следеће:

Изаберите индекс i који није изабран раније из опсега [0, nums.length - 1].
Замените nums[i] било којим целим бројем из опсега [nums[i] - k, nums[i] + k].

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

Пример 1:

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

Пример 2:

Улаз: nums = [1,1,1,1], k = 10
Излаз: 4
Објашњење: У овом примеру не морамо примењивати никакве операције.
Лепота низа nums је 4 (цео низ).

Ограничења:

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

Дат је низ nums који почиње од индекса 0 и ненегативан целобројни број k.
У једној операцији, можете урадити следеће:

Изаберите индекс i који није изабран раније из опсега [0, nums.length - 1].
Замените nums[i] било којим целим бројем из опсега [nums[i] - k, nums[i] + k].

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

Пример 1:

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

Пример 2:

Улаз: nums = [1,1,1,1], k = 10
Излаз: 4
Објашњење: У овом примеру не морамо примењивати никакве операције.
Лепота низа nums је 4 (цео низ).

Ограничења:

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


Dati su vam celobrojni niz `nums`. Niz smatramo dobrim ako je permutacija niza `base[n]`.
`base[n] = [1, 2, ..., n - 1, n, n]` (drugim rečima, to je niz dužine n + 1 koji sadrži brojeve od 1 do n - 1 tačno jednom, plus dva puta broj n). Na primer, `base[1] = [1, 1]` i `base[3] = [1, 2, 3, 3]`.
Vratite `true` ako je dati niz dobar, u suprotnom vratite `false`.
Napomena: Permutacija celih brojeva predstavlja raspored tih brojeva.

Primer 1:

Ulaz: `nums = [2, 1, 3]`
Izlaz: `false`
Objašnjenje: Pošto je maksimalni element niza 3, jedini mogući kandidat za `n` za koji ovaj niz može biti permutacija `base[n]` je `n = 3`. Međutim, `base[3]` ima četiri elementa, ali niz `nums` ima tri. Zbog toga ovo ne može biti permutacija `base[3] = [1, 2, 3, 3]`. Dakle, odgovor je `false`.

Primer 2:

Ulaz: `nums = [1, 3, 3, 2]`
Izlaz: `true`
Objašnjenje: Pošto je maksimalni element niza 3, jedini mogući kandidat za `n` za koji ovaj niz može biti permutacija `base[n]` je `n = 3`. Može se videti da je `nums` permutacija `base[3] = [1, 2, 3, 3]` (ako zamenimo drugi i četvrti element u `nums`, dolazimo do `base[3]`). Dakle, odgovor je `true`.

Primer 3:

Ulaz: `nums = [1, 1]`
Izlaz: `true`
Objašnjenje: Pošto je maksimalni element niza 1, jedini mogući kandidat za `n` za koji ovaj niz može biti permutacija `base[n]` je `n = 1`. Može se videti da je `nums` permutacija `base[1] = [1, 1]`. Dakle, odgovor je `true`.

Primer 4:

Ulaz: `nums = [3, 4, 4, 1, 2, 1]`
Izlaz: `false`
Objašnjenje: Pošto je maksimalni element niza 4, jedini mogući kandidat za `n` za koji ovaj niz može biti permutacija `base[n]` je `n = 4`. Međutim, `base[4]` ima pet elemenata, ali niz `nums` ima šest. Zbog toga ovo ne može biti permutacija `base[4] = [1, 2, 3, 4, 4]`. Dakle, odgovor je `false`.

Ograničenja:

1 <= `nums.length` <= 100
1 <= `num[i]` <= 200

Дат вам је низ целих бројева nums. Разматрамо низ добар ако је то пермутација низа base[n].
base[n] = [1, 2, ..., n - 1, n, n] (другим речима, то је низ дужине n + 1 који садржи 1 до n - 1 тачно једном, плюс две појаве n). На пример, base[1] = [1, 1] и base[3] = [1, 2, 3, 3].
Вратите true ако је дати низ добар, у супротном вратите false.
Напомена: Пермутација целих бројева представља распоред ових бројева.

Пример 1:

Улаз: nums = [2, 1, 3]
Излаз: false
Објашњење: Пошто је максимални елемент низа 3, једини кандидат n за који овај низ може бити пермутација од base[n], је n = 3. Међутим, base[3] има четири елемента али низ nums има три. Зато, не може бити пермутација од base[3] = [1, 2, 3, 3]. Дакле, одговор је false.

Пример 2:

Улаз: nums = [1, 3, 3, 2]
Излаз: true
Објашњење: Пошто је максимални елемент низа 3, једини кандидат n за који овај низ може бити пермутација од base[n], је n = 3. Види се да је nums пермутација од base[3] = [1, 2, 3, 3] (заменом другог и четвртог елемента у nums, стижемо до base[3]). Дакле, одговор је true.

Пример 3:

Улаз: nums = [1, 1]
Излаз: true
Објашњење: Пошто је максимални елемент низа 1, једини кандидат n за који овај низ може бити пермутација од base[n], је n = 1. Види се да је nums пермутација од base[1] = [1, 1]. Дакле, одговор је true.

Пример 4:

Улаз: nums = [3, 4, 4, 1, 2, 1]
Излаз: false
Објашњење: Пошто је максимални елемент низа 4, једини кандидат n за који овај низ може бити пермутација од base[n], је n = 4. Међутим, base[4] има пет елемената али низ nums има шест. Зато, не може бити пермутација од base[4] = [1, 2, 3, 4, 4]. Дакле, одговор је false.

Ограничења:

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

Дат вам је низ целих бројева nums. Разматрамо низ добар ако је то пермутација низа base[n].
base[n] = [1, 2, ..., n - 1, n, n] (другим речима, то је низ дужине n + 1 који садржи 1 до n - 1 тачно једном, плюс две појаве n). На пример, base[1] = [1, 1] и base[3] = [1, 2, 3, 3].
Вратите true ако је дати низ добар, у супротном вратите false.
Напомена: Пермутација целих бројева представља распоред ових бројева.

Пример 1:

Улаз: nums = [2, 1, 3]
Излаз: false
Објашњење: Пошто је максимални елемент низа 3, једини кандидат n за који овај низ може бити пермутација од base[n], је n = 3. Међутим, base[3] има четири елемента али низ nums има три. Зато, не може бити пермутација од base[3] = [1, 2, 3, 3]. Дакле, одговор је false.

Пример 2:

Улаз: nums = [1, 3, 3, 2]
Излаз: true
Објашњење: Пошто је максимални елемент низа 3, једини кандидат n за који овај низ може бити пермутација base[n] је n = 3. Видимо да је nums пермутација base[3] = [1, 2, 3, 3] (разменом другог и четвртог елемента у nums, добијамо base[3]). Стога, одговор је true.

Пример 3:

Улаз: nums = [1, 1]
Излаз: true
Објашњење:Пошто је максимални елемент низа 1, једини кандидат n за који овај низ може бити пермутација base[n] је n = 1. Видимо да је nums пермутација base[1] = [1, 1]. Дакле, одговор је true.

Пример 4:

Улаз: nums = [3, 4, 4, 1, 2, 1]
Излаз: false
Објашњење: Пошто је максимални елемент низа 4, једини кандидат n за који овај низ може бити пермутација base[n] је n = 4. Међутим, base[4] има пет елемената, али низ nums има шест. Дакле, не може бити пермутација base[4] = [1, 2, 3, 4, 4]. Дакле, одговор је false.

Ограничења:

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


Дат вам је низ целих бројева nums и позитиван број x.
Почетно се налазите на позицији 0 у низу и можете посетити друге позиције према следећим правилима:

Ако сте тренутно на позицији i, можете се померити на било коју позицију j такву да важи i < j.
За сваку позицију i коју посетите, добијате резултат nums[i].
Ако се преместите са позиције i на позицију j и паритети nums[i] и nums[j] се разликују, изгубићете резултат x.

Вратите максималан укупни резултат који можете добити.
Имајте на уму да иницијално имате nums[0] поена.

Пример 1:

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

Пример 2:

Улаз: nums = [2,4,6,8], x = 3
Излаз: 20
Објашњење: Сви цели бројеви у низу имају исте паритете, тако да можемо посетити све без губитка поена.
Укупни поени су: 2 + 4 + 6 + 8 = 20.

Ограничења:

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

Дат вам је целобројни низ индексиран од 0, nums, и позитивни цео број x.
Иницијално сте на позицији 0 у низу и можете посећивати друге позиције према следећим правилима:

Ако сте тренутно на позицији i, можете се померати на било коју позицију j такву да је i < j.
За сваку позицију i коју посетите, добијате поене у висини nums[i].
Ако се померите са позиције i на позицију j и паритети nums[i] и nums[j] се разликују, тада губите поене у вредности x.

Вратите максималне укупне поене које можете добити.
Имајте на уму да иницијално имате nums[0] поена.

Пример 1:

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

Пример 2:

Улаз: nums = [2,4,6,8], x = 3
Излаз: 20
Објашњење: Сви цели бројеви у низу имају исте паритете, тако да можемо посетити све без губитка поена.
Укупни поени су: 2 + 4 + 6 + 8 = 20.

Ограничења:

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

Дат вам је целобројни низ индексиран од 0, nums, и позитивни цео број x.
На почетку сте на позицији 0 у низу и можете посећивати друге позиције према следећим правилима:

Ако сте тренутно на позицији i, можете се померати на било коју позицију j такву да је i < j.
За сваку позицију i коју посетите, добијате поене у висини nums[i].
Ако се померите са позиције i на позицију j и паритети nums[i] и nums[j] се разликују, тада губите поене у вредности x.

Вратите максималне укупне поене које можете добити.
Запазите да на почетку имате nums[0] поена.

Пример 1:

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

Пример 2:

Улаз: nums = [2,4,6,8], x = 3
Излаз: 20
Објашњење: Сви цели бројеви у низу имају исте паритете, тако да можемо посетити све без губитка поена.
Укупни поени су: 2 + 4 + 6 + 8 = 20.

Ограничења:

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


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

Пример 1:

Улаз: nums = [51,71,17,24,42]
Излаз: 88
Објашњење:
За i = 1 и j = 2, nums[i] и nums[j] имају једнаке максималне цифре са сумом пара од 71 + 17 = 88.
За i = 3 и j = 4, nums[i] и nums[j] имају једнаке максималне цифре са сумом пара од 24 + 42 = 66.
Може се показати да не постоје други парови с једнаким максималним цифрама, тако да је одговор 88.

Пример 2:

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

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

2 <= nums.length <= 100
1 <= nums[i] <= 10^4

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

Пример 1:

Улаз: nums = [51,71,17,24,42]
Излаз: 88
Објашњење:
За i = 1 и j = 2, nums[i] и nums[j] имају једнаке максималне цифре са сумом пара од 71 + 17 = 88.
За i = 3 и j = 4, nums[i] и nums[j] имају једнаке максималне цифре са сумом пара од 24 + 42 = 66.
Може се показати да не постоје други парови с једнаким максималним цифрама, тако да је одговор 88.

Пример 2:

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

Ограничења:

2 <= nums.length <= 100
1 <= nums[i] <= 10^4

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

Пример 1:

Улаз: nums = [51,71,17,24,42]
Излаз: 88
Објашњење:
За i = 1 и j = 2, nums[i] и nums[j] имају једнаке максималне цифре са сумом пара од 71 + 17 = 88.
За i = 3 и j = 4, nums[i] и nums[j] имају једнаке максималне цифре са сумом пара од 24 + 42 = 66.
Може се показати да не постоје други парови с једнаким максималним цифрама, тако да је одговор 88.
Пример 2:

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

Ограничења:

2 <= nums.length <= 100
1 <= nums[i] <= 10^4


Дат вам је низ интегера nums са индексом почев од 0, цео број modulo и цео број k.
Ваш задатак је да пронађете број подниза који су занимљиви.
Подниз nums[l..r] је занимљив ако важи следећи услов:

Нека је cnt број индекса i у распону [l, r] такав да nums[i] % modulo == k. Тада, cnt % modulo == k.

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

Пример 1:

Улаз: nums = [3,2,4], modulo = 2, k = 1
Излаз: 3
Објашњење: У овом примеру занимљиви поднизови су:
Подниз nums[0..0] који је [3].
- Постоји само један индекс, i = 0, у распону [0, 0] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Подниз nums[0..1] који је [3,2].
- Постоји само један индекс, i = 0, у распону [0, 1] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Подниз nums[0..2] који је [3,2,4].
- Постоји само један индекс, i = 0, у распону [0, 2] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Показано је да не постоје други занимљиви поднизови. Дакле, одговор је 3.
Пример 2:

Улаз: nums = [3,1,9,6], modulo = 3, k = 0
Излаз: 2
Објашњење: У овом примеру занимљиви поднизови су:
Подниз nums[0..3] који је [3,1,9,6].
- Постоје три индекса, i = 0, 2, 3, у распону [0, 3] који задовољавају nums[i] % modulo == k.
- Дакле, cnt = 3 и cnt % modulo == k.
Подниз nums[1..1] који је [1].
- Не постоји индекс, i, у распону [1, 1] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 0 и cnt % modulo == k.
Показано је да не постоје други занимљиви поднизови. Дакле, одговор је 2.

Ограничења:

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

Дат је низ целих бројева nums, цео број modulo и цео број k. Ваш задатак је да пронађете број поднизова који су интересантни. Подниз  nums[l..r] је интересантан ако задовољава следећи услов:

Нека је cnt број индекса i у распону [l, r] такав да nums[i] % modulo == k. Тада, cnt % modulo == k.

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

Пример 1:

Улаз: nums = [3,2,4], modulo = 2, k = 1
Излаз: 3
Објашњење: У овом примеру занимљиви поднизови су:
Подниз nums[0..0] који је [3].
- Постоји само један индекс, i = 0, у распону [0, 0] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Подниз nums[0..1] који је [3,2].
- Постоји само један индекс, i = 0, у распону [0, 1] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Подниз nums[0..2] који је [3,2,4].
- Постоји само један индекс, i = 0, у распону [0, 2] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Показано је да не постоје други занимљиви поднизови. Дакле, одговор је 3.
Пример 2:

Улаз: nums = [3,1,9,6], modulo = 3, k = 0
Излаз: 2
Објашњење: У овом примеру занимљиви поднизови су:
Подниз nums[0..3] који је [3,1,9,6].
- Постоје три индекса, i = 0, 2, 3, у распону [0, 3] који задовољавају nums[i] % modulo == k.
- Дакле, cnt = 3 и cnt % modulo == k.
Подниз nums[1..1] који је [1].
- Не постоји индекс, i, у распону [1, 1] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 0 и cnt % modulo == k.
Показано је да не постоје други занимљиви поднизови. Дакле, одговор је 2.

Ограничења:

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

Дат вам је цео број низ nums са 0-индексом, цео број modulo и цео број k.
Ваш задатак је да пронађете број подниза који су занимљиви.
Подниз nums[l..r] је занимљив ако важи следећи услов:

Нека је cnt број индекса i у распону [l, r] такав да nums[i] % modulo == k. Тада, cnt % modulo == k.

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

Пример 1:

Улаз: nums = [3,2,4], modulo = 2, k = 1
Излаз: 3
Објашњење: У овом примеру занимљиви поднизови су:
Подниз nums[0..0] који је [3].
- Постоји само један индекс, i = 0, у распону [0, 0] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Подниз nums[0..1] који је [3,2].
- Постоји само један индекс, i = 0, у распону [0, 1] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Подниз nums[0..2] који је [3,2,4].
- Постоји само један индекс, i = 0, у распону [0, 2] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 1 и cnt % modulo == k.
Показано је да не постоје други занимљиви поднизови. Дакле, одговор је 3.
Пример 2:

Улаз: nums = [3,1,9,6], modulo = 3, k = 0
Излаз: 2
Објашњење: У овом примеру занимљиви поднизови су:
Подниз nums[0..3] који је [3,1,9,6].
- Постоје три индекса, i = 0, 2, 3, у распону [0, 3] који испуњавају nums[i] % modulo == k.
- Дакле, cnt = 3 и cnt % modulo == k.
Подниз nums[1..1] који је [1].
- Не постоји индекс, i, у распону [1, 1] који задовољава nums[i] % modulo == k.
- Дакле, cnt = 0 и cnt % modulo == k.
Показано је да не постоје други занимљиви поднизови. Дакле, одговор је 2.

Ограничења:

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


Дат вам је низ nums дужине n и цео број m. Потребно је утврдити да ли је могуће поделити низ на n непразних низова извршавајући серију корака.
У сваком кораку, можете одабрати постојећи низ (који може бити резултат претходних корака) са дужином од најмање два и поделити га на два подниза, ако за сваки резултујући подниз важи најмање једно од следећег:

Дужина подниза је један, или
Збир елемената подниза је већи или једнак m.

Вратите true ако можете поделити дати низ на n низова, иначе вратите false.
Напомена: Подниз је континуирани непразни редослед елемената унутар низа.

Пример 1:

Улаз: nums = [2, 2, 1], m = 4
Излаз: true
Објашњење: Можемо поделити низ на [2, 2] и [1] у првом кораку. Затим, у другом кораку, можемо поделити [2, 2] на [2] и [2]. Као резултат, одговор је true.

Пример 2:

Улаз: nums = [2, 1, 3], m = 5
Излаз: false
Објашњење: Можемо покушати да поделимо низ на два различита начина: први начин је да имамо [2, 1] и [3], а други начин је да имамо [2] и [1, 3]. Међутим, оба ова начина нису валидна. Дакле, одговор је false.

Пример 3:

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

Ограничења:

1 <= n == nums.length <= 100
1 <= nums[i] <= 100
1 <= m <= 200

Дати вам су низ дужине n и цели број m. Морате да утврдите да ли је могуће поделити низ у n не-празних низова вршењем низа корака.
У сваком кораку можете одабрати постојећи низ (који може бити резултат претходних корака) дужином најмање две и поделити га у два субарови, ако, за сваки резултирајући субниз, бар један од следећих задржава:

Дужина Субрараја је једна или
Збир елемената Субрара је већа или једнака м.

Вратите се true ако можете да поделите дато низ у Н низа, иначе се вратите false.
Напомена: Субаррај је непрекидан непразан низ елемената унутар низа.

Пример 1:

Улаз: nums = [2, 2, 1], m = 4
Излаз: true
Објашњење: Можемо поделити низ у [2, 2] и [1] у првом кораку. Затим, у другом кораку, можемо поделити [2, 2] у [2] и [2]. Као резултат, одговор је истинит.
Пример 2:

Улаз: nums = [2, 1, 3], m = 5
Излаз: false
Објашњење: Можемо испробати поделу низа на два различита начина: први начин је да [2, 1] и [3], а други начин је да се [2] и [1, 3]. Међутим, оба ова начина нису валидни. Дакле, одговор је лажан.
Пример 3:

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

ОГРАНИЧЕЊА:

1 <= n == nums.length <= 100
1 <= nums[i] <= 100
1 <= m <= 200

Dobijate niz nums dužine n i ceo broj m. Potrebno je da odredite da li je moguće podeliti niz na n nepraznih nizova izvođenjem niza koraka.
U svakom koraku možete izabrati postojeći niz (koji može biti rezultat prethodnih koraka) dužine najmanje dva i podeliti ga na dva podniza, ako za svaki rezultat podniza važi barem jedno od sledećeg:

Dužina podniza je jedan, ili
Suma elemenata podniza je veća ili jednaka od m.

Vratite true ako možete podeliti dati niz na n nizova, u suprotnom vratite false.
Napomena: Podniz je uzastopni neprazni niz elemenata unutar niza.

Пример 1:

Улаз: nums = [2, 2, 1], m = 4
Излаз: true
Објашњење: Можемо поделити низ на [2, 2] и [1] у првом кораку. Затим, у другом кораку, можемо поделити [2, 2] на [2] и [2]. Као резултат, одговор је true.

Пример 2:

Улаз: nums = [2, 1, 3], m = 5
Излаз: false
Објашњење: Можемо покушати да поделимо низ на два различита начина: први начин је да имамо [2, 1] и [3], а други начин је да имамо [2] и [1, 3]. Међутим, оба ова начина нису валидна. Дакле, одговор је false.

Пример 3:

Улаз: nums = [2, 3, 3, 2, 3], m = 6
Излаз: true
Objašnjenje:   Можемо поделити низ на [2, 3, 3, 2] и [3] у првом кораку. Затим, у другом кораку, можемо поделити [2, 3, 3, 2] на [2, 3, 3] и [2]. Потом, у трећем кораку, можемо поделити [2, 3, 3] на [2] и [3, 3]. И на крају, можемо поделити [3, 3] на [3] и [3]. Као резултат, одговор је true.

Ограничења:

1 <= n == nums.length <= 100
1 <= nums[i] <= 100
1 <= m <= 200


Дат је 0-индексирани низ целих бројева nums дужине n и цео број target, врати број парова (i, j) где је 0 <= i < j < n и nums[i] + nums[j] < target.

Пример 1:

Улаз: nums = [-1,1,2,3,1], target = 2
Излаз: 3
Објашњење: Постоје 3 пара индекса који задовољавају услове из задатка:
- (0, 1) јер је 0 < 1 и nums[0] + nums[1] = 0 < target
- (0, 2) јер је 0 < 2 и nums[0] + nums[2] = 1 < target
- (0, 4) јер је 0 < 4 и nums[0] + nums[4] = 0 < target
Напомена да се (0, 3) не рачуна јер nums[0] + nums[3] није строго мање од target.

Пример 2:

Улаз: nums = [-6,2,5,-2,-7,-1,3], target = -2
Излаз: 10
Објашњење: Постоји 10 парова индекса који задовољавају услове из задатка:
- (0, 1) јер је 0 < 1 и nums[0] + nums[1] = -4 < target
- (0, 3) јер је 0 < 3 и nums[0] + nums[3] = -8 < target
- (0, 4) јер је 0 < 4 и nums[0] + nums[4] = -13 < target
- (0, 5) јер је 0 < 5 и nums[0] + nums[5] = -7 < target
- (0, 6) јер је 0 < 6 и nums[0] + nums[6] = -3 < target
- (1, 4) јер је 1 < 4 и nums[1] + nums[4] = -5 < target
- (3, 4) јер је 3 < 4 и nums[3] + nums[4] = -9 < target
- (3, 5) јер је 3 < 5 и nums[3] + nums[5] = -3 < target
- (4, 5) јер је 4 < 5 и nums[4] + nums[5] = -8 < target
- (4, 6) јер је 4 < 6 и nums[4] + nums[6] = -4 < target

Ограничења:

1 <= nums.length == n <= 50
-50 <= nums[i], target <= 50

Дат 0-индексиран низ целих бројева нумс дужине н и цели број, вратите број парова (i, j) где је 0 <= i < j < n и nums[i] + nums[j] < target.

Пример 1:

Улаз: nums = [-1,1,2,3,1], target = 2
Излаз: 3
Објашњење: Постоје 3 пара индекса који задовољавају услове у исказу:
- (0, 1) пошто је 0 < 1 и nums[0] + nums[1] = 0 < target
- (0, 2) пошто је 0 < 2 и nums[0] + nums[2] = 1 < target
- (0, 4) пошто је 0 < 4 и nums[0] + nums[4] = 0 < target
Имајте на уму да се (0, 3) не рачуна пошто nums[0] + nums[3] није стриктно мањи од циља.

Пример 2:

Улаз: nums = [-6,2,5,-2,-7,-1,3], target = -2
Излаз: 10
Објашњење: Постоји 10 парова индекса који задовољавају услове у исказу:
- (0, 1) пошто је 0 < 1 и nums[0] + nums[1] = -4 < target
- (0, 3) пошто је 0 < 3 и nums[0] + nums[3] = -8 < target
- (0, 4) пошто је 0 < 4 и nums[0] + nums[4] = -13 < target
- (0, 5) пошто је 0 < 5 и nums[0] + nums[5] = -7 < target
- (0, 6) пошто је 0 < 6 и nums[0] + nums[6] = -3 < target
- (1, 4) пошто је 1 < 4 и nums[1] + nums[4] = -5 < target
- (3, 4) пошто је 3 < 4 и nums[3] + nums[4] = -9 < target
- (3, 5) пошто је 3 < 5 и nums[3] + nums[5] = -3 < target
- (4, 5) пошто је 4 < 5 и nums[4] + nums[5] = -8 < target
- (4, 6) пошто је 4 < 6 и nums[4] + nums[6] = -4 < target

Ограничења:

1 <= nums.length == n <= 50
-50 <= nums[i], target <= 50

Дат је 0-индексирани низ целих бројева nums дужине n и цео број target, врати број парова (i, j) где је 0 <= i < j < n и nums[i] + nums[j] < target.

Пример 1:

Улаз: nums = [-1,1,2,3,1], target = 2
Излаз: 3
Објашњење: Постоје 3 пара индекса који задовољавају услове из задатка:
- (0, 1) јер је 0 < 1 и nums[0] + nums[1] = 0 < target
- (0, 2) јер је 0 < 2 и nums[0] + nums[2] = 1 < target
- (0, 4) јер је 0 < 4 и nums[0] + nums[4] = 0 < target
Напомена да се (0, 3) не рачуна јер nums[0] + nums[3] није стриктно мање од target.

Пример 2:

Улаз: nums = [-6,2,5,-2,-7,-1,3], target = -2
Излаз: 10
Објашњење: Постоји 10 парова индекса који задовољавају услове из задатка:
- (0, 1) јер је 0 < 1 и nums[0] + nums[1] = -4 < target
- (0, 3) јер је 0 < 3 и nums[0] + nums[3] = -8 < target
- (0, 4) јер је 0 < 4 и nums[0] + nums[4] = -13 < target
- (0, 5) јер је 0 < 5 и nums[0] + nums[5] = -7 < target
- (0, 6) јер је 0 < 6 и nums[0] + nums[6] = -3 < target
- (1, 4) јер је 1 < 4 и nums[1] + nums[4] = -5 < target
- (3, 4) јер је 3 < 4 и nums[3] + nums[4] = -9 < target
- (3, 5) јер је 3 < 5 и nums[3] + nums[5] = -3 < target
- (4, 5) јер је 4 < 5 и nums[4] + nums[5] = -8 < target
- (4, 6) јер је 4 < 6 и nums[4] + nums[6] = -4 < target

Ограничења:

1 <= nums.length == n <= 50
-50 <= nums[i], target <= 50


Дати су вам низ usageLimits дужине n са индексима од 0 до n-1. Ваш задатак је да креирате групе користећи бројеве од 0 до n-1, осигуравајући да се сваки број i користи највише usageLimits[i] пута укупно кроз све групе. Такође, морате испунити следеће услове:

Свакa група мора садржати различите бројеве, што значи да дупликати нису дозвољени унутар једне групе.
Свакa група (осим прве) мора имати дужину која је строго већа од претходне групе.

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

Пример 1:

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

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

Пример 3:

Улаз: usageLimits = [1,1]
Излаз: 1
Објашњење: У овом примеру, можемо користити и 0 и 1 највише једном.
Један начин за креирање максималног броја група уз задовољење услова је:
Група 1 садржи број [0].
Може се показати да је максималан број група 1.
Дакле, излаз је 1.

Ограничења:

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

Добијате 0-индексирани низ usageLimits дужине н.
Ваш задатак је да креирате групе користећи бројеве од 0 до н - 1, осигуравајући да се сваки број, и, не користи више од usageLimits[и] пута укупно у свим групама. Такође морате испунити следеће услове:

Свака група мора се састојати од различитих бројева, што значи да нису дозвољени дупли бројеви унутар једне групе.
Свака група (осим прве) мора имати дужину строго већу од претходне групе.

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

Пример 1:

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

Улаз : usageLimits = [2,1,2]
излаз : 2
Објашњење : У овом примеру, можемо користити 0 највише два пута, 1 највише једном, и 2 највише два пута.
Један од начина стварања максималног броја група уз задовољавање услова је:
Група 1 садржи број [0].
Група 2 садржи бројеве [1,2].
Може се показати да је максималан број група 2.
Дакле , излаз је 2.

Пример 3:

Улаз : usageLimits = [1,1]
излаз : 1
Објашњење : У овом примеру, можемо користити и 0 и 1 највише једном.
Један од начина стварања максималног броја група уз задовољавање услова је:
Група 1 садржи број [0].
Може се показати да је максималан број група 1.
Дакле , излаз је 1.

Ограничења:

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

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

1. Свака група мора се састојати од различитих бројева, што значи да унутар једне групе није дозвољено понављање бројева.
2. Свака група (осим прве) мора имати дужину строго већу од претходне групе.

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

Пример 1:

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

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

Пример 3:

Улаз: usageLimits = [1,1]
Излаз: 1
Објашњење: У овом примеру, можемо користити и 0 и 1 највише једном.
Један начин за креирање максималног броја група уз задовољење услова је:
Група 1 садржи број [0].
Може се показати да је максималан број група 1.
Дакле, излаз је 1.

Ограничења:

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


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

За свакој индексу i у опсегу [0, n - 1], замените nums[i] са било којим од nums[i], nums[(i - 1 + n) % n], или nums[(i + 1) % n].

Напомена: Сви елементи се замењују истовремено.

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

Пример 1:

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

Пример 2:

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

Пример 3:

Улаз: nums = [5,5,5,5]
Излаз: 0
Објашњење: Не треба извршити ниједну операцију јер су сви елементи у почетном низу исти.

Ограничења:

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

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

За сваки индекс i у опсегу [0, n - 1], замените nums[i] са или nums[i], nums[(i - 1 + n) % n], или nums[(i + 1) % n].

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

Пример 1:

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

Пример 2:

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

Пример 3:

Улаз: nums = [5,5,5,5]
Излаз: 0
Објашњење: Не треба извршити ниједну операцију јер су сви елементи у почетном низу исти.

Ограничења:

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


Дате су две позитивне целе броје low и high представљене као стрингови, пронађите број "stepping" бројева у инклузивном опсегу [low, high].
"Stepping" број је цео број чије све суседне цифре имају апсолутну разлику тачно 1.
Вратите цео број који означава број "stepping" бројева у инклузивном опсегу [low, high].
Пошто одговор може бити веома велики, вратите га модуло 10^9 + 7.
Напомена: "Stepping" број не треба да има водећу нулу.

Пример 1:

Улаз: low = "1", high = "11"
Излаз: 10
Објашњење: "Stepping" бројеви у опсегу [1,11] су 1, 2, 3, 4, 5, 6, 7, 8, 9 и 10. Укупно има 10 "stepping" бројева у опсегу. Дакле, излаз је 10.
Пример 2:

Улаз: low = "90", high = "101"
Излаз: 2
Објашњење: "Stepping" бројеви у опсегу [90,101] су 98 и 101. Укупно има 2 "stepping" броја у опсегу. Дакле, излаз је 2.

Ограничења:

1 <= int(low) <= int(high) < 10^100
1 <= low.length, high.length <= 100
low и high садрже само цифре.
low и high немају водеће нуле.

Дати су два позитивна cela броја low и high представљена као стрингови, пронађите број степенастих бројева у опсегу [low, high]. "степенујући" број је цео број чији суседни цифре имају апсолутну разлику тачно 1.
Вратите целобројни број који означава број степенастих бројева у опсегу [low, high]. Пошто одговор може бити веома велики, вратите га модуло 10^9 + 7.
Напомена: Степенасти број не сме имати водећу нулу.

Пример 1:

Улаз: low = "1", high = "11"
Излаз: 10
Објашњење: "степенујући" бројеви у опсегу [1,11] су 1, 2, 3, 4, 5, 6, 7, 8, 9 и 10. Укупно има 10 "степенујући" бројева у опсегу. Дакле, излаз је 10.
Пример 2:

Улаз: low = "90", high = "101"
Излаз: 2
Објашњење: "степенујући" бројеви у опсегу [90,101] су 98 и 101. Укупно има 2 "степенујући" броја у опсегу. Дакле, излаз је 2.

Ограничења:

1 <= int(low) <= int(high) < 10^100
1 <= low.length, high.length <= 100
low и high садрже само цифре.
low и high немају водеће нуле.


Дати су вам два 0-индексирана целобројна низа nums1 и nums2 једнаке дужине. Сваке секунде, за све индексе 0 <= i < nums1.length, вредност nums1[i] се увећава за nums2[i]. Након што се ово уради, можете извршити следећу операцију:

Изаберите индекс 0 <= i < nums1.length и подесите nums1[i] = 0.

Дат вам је такође и цео број x.
Вратите минимално време у којем можете учинити суму свих елемената nums1 мањом или једнаком x, или -1 ако ово није могуће.

Пример 1:

Улаз: nums1 = [1,2,3], nums2 = [1,2,3], x = 4
Излаз: 3
Објашњење:
За прву секунду, примењујемо операцију на i = 0. Зато је nums1 = [0,2+2,3+3] = [0,4,6].
За другу секунду, примењујемо операцију на i = 1. Зато је nums1 = [0+1,0,6+3] = [1,0,9].
За трећу секунду, примењујемо операцију на i = 2. Зато је nums1 = [1+1,0+2,0] = [2,2,0].
Сада је збир nums1 = 4. Може се показати да су ове операције оптималне, па враћамо 3.

Пример 2:

Улаз: nums1 = [1,2,3], nums2 = [3,3,3], x = 4
Излаз: -1
Објашњење: Може се показати да ће збир nums1 увек бити већи од x, без обзира које операције се изведу.

Ограничења:

1 <= nums1.length <= 10^3
1 <= nums1[i] <= 10^3
0 <= nums2[i] <= 10^3
nums1.length == nums2.length
0 <= x <= 10^6

Дати су вам два целобројна низа са индексом почев од 0, nums1 и nums2, једнаке дужине. Сваке секунде, за све индексе 0 <= i < nums1.length, вредност nums1[i] се повећава за nums2[i]. Након овога, можете извршити следећу операцију:

Изаберите индекс 0 <= i < nums1.length и подесите nums1[i] = 0.

Такође вам је дат цео број x.
Вратите минимално време у коме можете учинити да збир свих елемената nums1 буде мањи или једнак x, или -1 ако то није могуће.

Пример 1:

Улаз: nums1 = [1,2,3], nums2 = [1,2,3], x = 4
Излаз: 3
Објашњење:
За прву секунду, примењујемо операцију на i = 0. Зато је nums1 = [0,2+2,3+3] = [0,4,6].
За другу секунду, примењујемо операцију на i = 1. Зато је nums1 = [0+1,0,6+3] = [1,0,9].
За трећу секунду, примењујемо операцију на i = 2. Зато је nums1 = [1+1,0+2,0] = [2,2,0].
Сада је збир nums1 = 4. Може се показати да су ове операције оптималне, па враћамо 3.

Пример 2:

Улаз: nums1 = [1,2,3], nums2 = [3,3,3], x = 4
Излаз: -1
Објашњење: Може се показати да ће збир бројева1 увек бити већи од к, без обзира које операције се изводе.

Ограничења:

1 <= nums1.length <= 10^3
1 <= nums1[i] <= 10^3
0 <= nums2[i] <= 10^3
nums1.length == nums2.length
0 <= x <= 10^6

Дати су вам два целобројна низа са индексом почев од 0, nums1 и nums2, једнаке дужине. Сваке секунде, за све индексе 0 <= i < nums1.length, вредност nums1[i] се повећава за nums2[i]. Након овога, можете извршити следећу операцију:

Изаберите индекс 0 <= i < nums1.length и подесите nums1[i] = 0.

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

Пример 1:

Улаз: nums1 = [1,2,3], nums2 = [1,2,3], x = 4
Излаз: 3
Објашњење:
За прву секунду, примењујемо операцију на i = 0. Зато је nums1 = [0,2+2,3+3] = [0,4,6].
За другу секунду, примењујемо операцију на i = 1. Зато је nums1 = [0+1,0,6+3] = [1,0,9].
За трећу секунду, примењујемо операцију на i = 2. Зато је nums1 = [1+1,0+2,0] = [2,2,0].
Сада је збир nums1 = 4. Може се показати да су ове операције оптималне, па враћамо 3.

Пример 2:

Улаз: nums1 = [1,2,3], nums2 = [3,3,3], x = 4
Излаз: -1
Објашњење: Може се показати да ће збир nums1 увек бити већи од x, без обзира које операције се изведу.

Ограничења:

1 <= nums1.length <= 10^3
1 <= nums1[i] <= 10^3
0 <= nums2[i] <= 10^3
nums1.length == nums2.length
0 <= x <= 10^6


Дат вам је 2D низ целих бројева coordinates и цео број k, где је coordinates[i] = [x_i, y_i] координате i-те тачке у 2D равни.
Дефинишемо растојање између две тачке (x_1, y_1) и (x_2, y_2) као (x1 XOR x2) + (y1 XOR y2) где је XOR битовска XOR операција.
Вратите број парова (i, j) таквих да је i < j и растојање између тачака i и j једнако k.

Пример 1:

Улаз: coordinates = [[1,2],[4,2],[1,3],[5,2]], k = 5
Излаз: 2
Објашњење: Можемо изабрати следеће парове:
- (0,1): Пошто имамо (1 XOR 4) + (2 XOR 2) = 5.
- (2,3): Пошто имамо (1 XOR 5) + (3 XOR 2) = 5.

Пример 2:

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

Ограничења:

2 <= coordinates.length <= 50000
0 <= x_i, y_i <= 10^6
0 <= k <= 100

Дат вам је 2D низ целих бројева coordinates и цео број k, где је coordinates[i] = [x_i, y_i] координате i-те тачке у 2D равни.
Дефинишемо растојање између две тачке (x_1, y_1) и (x_2, y_2) као (x1 XOR x2) + (y1 XOR y2) где је XOR битовска XOR операција.
Вратите број парова (i, j) таквих да је i < j и растојање између тачака i и j једнако k.

Пример 1:

Унос: coordinates = [[1,2],[4,2],[1,3],[5,2]], k = 5
Излаз: 2
Објашњење: Можемо изабрати следеће парове:
- (0,1): Зато што имамо (1 XOR 4) + (2 XOR 2) = 5.
- (2,3): Зато што имамо (1 XOR 5) + (3 XOR 2) = 5.

Пример 2:

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

Ограничења:

2 <= coordinates.length <= 50000
0 <= x_i, y_i <= 10^6
0 <= k <= 100

Дат вам је 2D низ целих бројева coordinates и цео број k, где је coordinates[i] = [x_i, y_i] координате i-те тачке у 2D равни.
Дефинишемо растојање између две тачке (x_1, y_1) и (x_2, y_2) као (x1 XOR x2) + (y1 XOR y2) где је XOR битовска XOR операција.
Вратите број парова (i, j) таквих да је i < j и растојање између тачака i и j једнако k.

Пример 1:

Улаз: coordinates = [[1,2],[4,2],[1,3],[5,2]], к = 5
Излаз: 2
Објашњење: Можемо изабрати следеће парове:
- (0,1): Зато што имамо (1 XOR 4) + (2 XOR 2) = 5.
- (2,3): Зато што имамо (1 XOR 5) + (3 XOR 2) = 5.

Пример 2:

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

Ограничења:

2 <= coordinates.length <= 50000
0 <= x_i, y_i <= 10^6
0 <= k <= 100


Дат вам је низ целих бројева nums и два позитивна цела броја m и k.
Вратите максимални збир од свих скоро јединствених подниза дужине k из низа nums. Ако такав подниз не постоји, вратите 0.

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

Код остаје непромењен.

Пример 1:

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

Пример 2:

Улаз: nums = [5,9,9,2,4,5,4], m = 1, k = 3
Излаз: 23
Објашњење: Постоји 5 скоро јединствених поднизова величине k. Ови поднизови су [5, 9, 9], [9, 9, 2], [9, 2, 4], [2, 4, 5] и [4, 5, 4]. Међу овим поднизовима, онај са максималном сумом је [5, 9, 9] који има суму 23.

Пример 3:

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

Ограничења:

1 <= nums.length <= 2 * 10^4
1 <= m <= k <= nums.length
1 <= nums[i] <= 10^9

Дат вам је целобројни низ nums и два позитивна цела броја m и k.
Вратите максималну суму од свих скоро јединствених поднизова дужине k из низа nums. Ако такав подниз не постоји, вратите 0.
Подниз низа nums је скоро јединствен ако садржи најмање m различитих елемената.
Подниз је континуирана, не-празна секвенца елемената унутар низа.

Пример 1:

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

Пример 2:

Улаз: nums = [5,9,9,2,4,5,4], m = 1, k = 3
Излаз: 23
Објашњење: Постоји 5 скоро јединствених поднизова величине k. Ови поднизови су [5, 9, 9], [9, 9, 2], [9, 2, 4], [2, 4, 5] и [4, 5, 4].
Међу овим поднизовима, онај са максималном сумом је [5, 9, 9] који има суму 23.

Пример 3:

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

Ограничења:

1 <= nums.length <= 2 * 10^4
1 <= m <= k <= nums.length
1 <= nums[i] <= 10^9

Добијате цео низ бројева и два позитивна цела броја м и к.
Вратите максималну суму од свих готово јединствених поднизова дужине к бројева. Ако такав подниз не постоји, вратите 0.
Подниз бројева је готово јединствен ако садржи најмање м различитих елемената.
Подниз је суседна не-празна секвенца елемената унутар низа.

Пример 1:

Улаз : nums = [2,6,7,3,1,7], m = 3, k = 4
излаз : 18
Објашњење : Постоје 3 готово јединствена поднизови величине k = 4. Ови поднизови су [2, 6, 7, 3], [6, 7, 3, 1] и [7, 3, 1, 7]. Међу овим поднизовима, онај са максималном сумом је [2, 6, 7, 3] који има збир 18.

Пример 2:

Улаз : nums = [5,9,9,2,4,5,4], m = 1, k = 3
излаз : 23
Објашњење : Постоји 5 готово јединствених поднизова величине k. Ови поднизови су [5, 9, 9], [9, 9, 2], [9, 2, 4], [2, 4, 5] и [4, 5, 4]. Међу овим поднизовима, онај са максималном сумом је [5, 9, 9] који има суму 23.

Пример 3:

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

Ограничења:

1 <= nums.length <= 2 * 10^4
1 <= m <= k <= nums.length
1 <= nums[i] <= 10^9


Иницијално, имате салдо на рачуну од 100 долара.
Дат вам је цео број purchaseAmount који представља износ који ћете потрошити на куповину у доларима.
У продавници где ћете извршити куповину, износ куповине се заокружује на најближи количник од 10. Другим речима, плаћате ненегативан износ, roundedAmount, такав да је roundedAmount количник од 10 и да је abs(roundedAmount - purchaseAmount) минимизован.
Ако постоји више од једног најближег количника од 10, бира се већи количник.
Вратите цео број који означава ваш салдо на рачуну након куповине у вредности purchaseAmount долара из продавнице.
Напомена: 0 се сматра количником од 10 у овом задатку.

Пример 1:

Улаз: purchaseAmount = 9
Излаз: 90
Објашњење: У овом примеру, најближи количник од 10 за 9 је 10. Дакле, ваш салдо на рачуну постаје 100 - 10 = 90.

Пример 2:

Улаз: purchaseAmount = 15
Излаз: 80
Објашњење: У овом примеру, постоје два најближа количника од 10 за 15: 10 и 20. Дакле, бира се већи количник, 20.
Дакле, ваш салдо на рачуну постаје 100 - 20 = 80.

Ограничења:

0 <= purchaseAmount <= 100

Иницијално имате стање на банковном рачуну од 100 долара.
Дат вам је цео број purchaseAmount који представља износ који ћете потрошити на куповину у доларима.
У продавници где ћете извршити куповину, износ куповине се заокружује на најближи вишеструки од 10. Другим речима, плаћате ненегативан износ, roundedAmount, такав да је roundedAmount вишеструки од 10 и да је abs(roundedAmount - purchaseAmount) минимизован.
Ако постоји више од једног најближег количника од 10, бира се већи количник.
Вратите цео број који означава ваш станије на рачуну након куповине у вредности purchaseAmount долара из продавнице.
Напомена: 0 се сматра количником од 10 у овом задатку.

Пример 1:

Улаз: purchaseAmount = 9
Излаз: 90
Објашњење: У овом примеру, најближи вишеструки од 10 за 9 је 10. Дакле, ваш станије на рачуну постаје 100 - 10 = 90.

Пример 2:

Улаз: purchaseAmount = 15
Излаз: 80
Објашњење: У овом примеру постоје два најближа вишеструка од 10 броју 15: 10 и 20. Дакле, бира се већи вишеструки, 20.
Због тога, стање на вашем рачуну постаје 100 - 20 = 80.

Ограничења:

0 <= purchaseAmount <= 100

Иницијално, имате салдо на рачуну од 100 долара.
Дат вам је цео број purchaseAmount који представља износ који ћете потрошити на куповину у доларима.
У продавници где ћете извршити куповину, износ куповине се заокружује на најближи количник од 10. Другим речима, плаћате ненегативан износ, roundedAmount, такав да је roundedAmount количник од 10 и да је abs(roundedAmount - purchaseAmount) минимизован.
Ако постоји више од једног најближег количника од 10, бира се већи количник.
Вратите цео број који означава ваш салдо на рачуну након куповине у вредности purchaseAmount долара из продавнице.
Напомена: 0 се сматра количником од 10 у овом задатку.

Пример 1:

Улаз: purchaseAmount = 9
Излаз: 90
Објашњење: У овом примеру, најближи вишекратник од 10 до 9 је 10. Дакле, стање на вашем рачуну постаје 100 - 10 = 90.

Пример 2:

Улаз: purchaseAmount = 15
Излаз: 80
Објашњење: У овом примеру постоје два најближа вишекратника од 10 до 15: 10 и 20. Дакле, бира се већи умножак, 20.
Дакле, стање на вашем рачуну постаје 100 - 20 = 80.

Ограничења:

0 <= purchaseAmount <= 100


Дат је низ ниска words и ниска s, одредити да ли је s акроним од words.

Ниска s се сматра акронимом од words ако се може формирати конкатенацијом првог карактера сваке ниске из words редом. На пример, "ab" се може формирати из ["apple", "banana"], али не може се формирати из ["bear", "aardvark"].

Вратити true ако је s акроним од words, иначе вратити false.

Пример 1:

Улаз: words = ["alice","bob","charlie"], s = "abc"
Излаз: true
Објашњење: Први карактери у речима "alice", "bob" и "charlie" су 'a', 'b' и 'c', редом. Дакле, s = "abc" је акроним.

Пример 2:

Улаз: words = ["an","apple"], s = "a"
Излаз: false
Објашњење: Први карактери у речима "an" и "apple" су 'a' и 'a', редом.
Акроним који се формира конкатенацијом ових карактера је "aa".
Дакле, s = "a" није акроним.

Пример 3:

Улаз: words = ["never","gonna","give","up","on","you"], s = "ngguoy"
Излаз: true
Објашњење: Конкатенацијом првог карактера сваке речи у низу, добијамо ниску "ngguoy".
Дакле, s = "ngguoy" је акроним.

Ограничења:

1 <= words.length <= 100
1 <= words[i].length <= 10
1 <= s.length <= 100
words[i] и s се састоје од малих слова енглеске абецеде.

Дати низ речи низова и низ с, одредите да ли је с акроним речи.
Низ с се сматра акронимом речи ако се може формирати спајањем првог знака сваког низа у речи по редоследу. На пример, "аб" се може формирати од ["јабука", "банана"], али не може да се формира од ["медвед", "аардварк"].
Врати тачно ако је с акроним речи, а у супротном фалсе.

Пример 1:

Улаз: words = ["alice","bob","charlie"], s = "abc"
Излаз: true
Објашњење: Први карактери у речима "alice", "bob" и "charlie" су 'a', 'b' и 'c', респективно. Дакле, s = "abc" је акроним.
Пример 2:

Улаз: words = ["an","apple"], s = "a"
Излаз: false
Објашњење: Први карактери у речима "an" и "apple" су 'a' и 'a', респективно.
Акроним који се формира конкатенацијом ових карактера је "aa".
Дакле, s = "а" није акроним.

Пример 3:

Улаз: words = ["never","gonna","give","up","on","you"], s = "ngguoy"
Излаз: true
Објашњење: Спајањем првог знака речи у низу, добијамо стринг "ngguoy".
Дакле, s = "ngguoy" је акроним.

Ограничења:

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

Дати низ речи низова и низ с, одредите да ли је с акроним речи.
Низ с се сматра акронимом речи ако се може формирати спајањем првог знака сваког низа у речи по редоследу. На пример, "ab" се може формирати од ["apple", "banana"], али не може да се формира од ["bear", "aardvark"].
Врати тачно ако је с акроним речи, а у супротном фалсе.

Пример 1:

Улаз: words = ["alice","bob","charlie"], s = "abc"
Излаз: true
Објашњење: Први знак у речима "alice", "bob" и "charlie" су 'а', 'b', и 'c', респективно. Дакле, с = "abc" је акроним.

Пример 2:

Улаз: words = ["an","apple"], s = "a"
Излаз: false
Објашњење: Први знак у речима "an" и "apple" су 'а' и 'а', респективно.
Акроним настао спајањем ових знакова је „аа“.
Дакле, с = "а" није акроним.

Пример 3:

Улаз: words = ["never","gonna","give","up","on","you"], s = "ngguoy"
Излаз: true
Објашњење: Спајањем првог знака речи у низу, добијамо стринг "ngguoy".
Дакле, с = "ngguoy" је акроним.

Ограничења:

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


Дат је цео број n који представља број кућа на бројевној правој, нумерисаних од 0 до n - 1.
Додатно, дат је 2D целобројни низ offers где је offers[i] = [start_i, end_i, gold_i], што указује да i-ти купац жели да купи све куће од start_i до end_i за gold_i количину злата.
Као продавац, ваш циљ је да максимизирате своју зараду стратегијским одабиром и продајом кућа купцима.
Вратите максималну количину злата коју можете зарадити.
Напомена: Различити купци не могу купити исту кућу, а неке куће могу остати непродате.

Пример 1:

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

Пример 2:

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

Ограничења:

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

Imate dati ceo broj n koji predstavlja broj kuća na brojevnoj liniji, numerisanih od 0 do n - 1.
Takođe, dat je 2D niz celih brojeva offers, gde je offers[i] = [start_i, end_i, gold_i], što označava da kupac i-tog reda želi da kupi sve kuće u opsegu od start_i do end_i za gold_i jedinica zlata.
Kao prodavac, vaš cilj je da maksimalizujete zaradu strateškim odabirom i prodajom kuća kupcima.
Vratite maksimalni iznos zlata koji možete zaraditi.
Napomena: Različiti kupci ne mogu kupiti istu kuću, a neke kuće mogu ostati neprodate.

Primer 1:

Ulaz:
n = 5,; offers = [0,0,1],[0,2,2],[1,3,2]
Izlaz:
3
Objašnjenje: Postoji 5 kuća numerisanih od 0 do 4 i postoje 3 ponude za kupovinu.
Prodajemo kuće u opsegu [0,0] prvom kupcu za 1 zlato i kuće u opsegu [1,3] trećem kupcu za 2 zlata.
Može se dokazati da je 3 maksimalna količina zlata koju možemo postići.

Пример 2:

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

Ограничења:

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

Дат вам је цео број н који представља број кућа на бројевној правој, нумерисан од 0 до n - 1.
Додатно, дат је 2D целобројни низ offers где је offers[i] = [start_i, end_i, gold_i], што указује да i-ти купац жели да купи све куће од start_i до end_i за gold_i количину злата.
Као продавац, ваш циљ је да максимизирате своју зараду стратешким одабиром и продајом кућа купцима.
Вратите максималну количину злата коју можете зарадити.
Имајте на уму да различити купци не могу купити исту кућу, а неке куће могу остати непродате.

Пример 1:

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

Пример 2:

Улаз: n = 5, offers = [[0,0,1],[0,2,10],[1,3,2]]
Излаз: 10
Објашњење: Постоји 5 кућа са бројевима од 0 до 4 и постоје 3 понуде за куповину.
Продајемо куће у распону [0,2] до 2^. купца за 10 голда.
Може се доказати да је 10 максимална количина злата коју можемо постићи.

Ограничења:

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