1
1
mirror of https://github.com/theoludwig/programming-challenges.git synced 2024-10-29 22:17:23 +01:00

feat(challenges): add heap-algorithm

This commit is contained in:
Divlo 2021-11-08 16:56:22 +01:00
parent d97fe47377
commit 12d0d1b37a
No known key found for this signature in database
GPG Key ID: 6F24DA54DA3967CF
11 changed files with 909 additions and 1 deletions

View File

@ -0,0 +1,34 @@
# heap-algorithm
Created by [@Divlo](https://github.com/Divlo) on 8 November 2021.
## Instructions
Write a program that generates all possible unique permutations of a string.
## Source
- [Heap's Algorithm - Wikipedia](https://en.wikipedia.org/wiki/Heap%27s_algorithm)
## Examples
### Example 1
#### Input
```txt
abc
```
#### Output
```txt
abc
bac
cba
bca
cab
acb
```
See the `test` folder for examples of input/output.

View File

@ -0,0 +1 @@
abc

View File

@ -0,0 +1,6 @@
abc
bac
cba
bca
cab
acb

View File

@ -0,0 +1 @@
cool

View File

@ -0,0 +1,24 @@
cool
ocol
oocl
oocl
ocol
cool
looc
oloc
oolc
oolc
oloc
looc
cool
ocol
oocl
oocl
ocol
cool
looc
oloc
oolc
oolc
oloc
looc

View File

@ -0,0 +1 @@
kayak

View File

@ -0,0 +1,120 @@
kayak
akyak
yakak
aykak
ykaak
kyaak
aaykk
aaykk
yaakk
ayakk
yaakk
ayakk
kayak
akyak
yakak
aykak
ykaak
kyaak
aaykk
aaykk
yaakk
ayakk
yaakk
ayakk
kayak
akyak
yakak
aykak
ykaak
kyaak
aaykk
aaykk
yaakk
ayakk
yaakk
ayakk
kayak
akyak
yakak
aykak
ykaak
kyaak
aaykk
aaykk
yaakk
ayakk
yaakk
ayakk
kkyaa
kkyaa
ykkaa
kykaa
ykkaa
kykaa
akyka
kayka
ykaka
kyaka
yakka
aykka
kkyaa
kkyaa
ykkaa
kykaa
ykkaa
kykaa
akyka
kayka
ykaka
kyaka
yakka
aykka
kkaay
kkaay
akkay
kakay
akkay
kakay
akaky
kaaky
akaky
kaaky
aakky
aakky
kkaay
kkaay
akkay
kakay
akkay
kakay
akaky
kaaky
akaky
kaaky
aakky
aakky
kkaya
kkaya
akkya
kakya
akkya
kakya
ykaka
kyaka
akyka
kayka
aykka
yakka
kkaya
kkaya
akkya
kakya
akkya
kakya
ykaka
kyaka
akyka
kayka
aykka
yakka

View File

@ -0,0 +1 @@
azerty

View File

@ -0,0 +1,720 @@
azerty
zaerty
ezarty
zearty
eazrty
aezrty
rzeaty
zreaty
ezraty
zeraty
erzaty
rezaty
azerty
zaerty
ezarty
zearty
eazrty
aezrty
rzeaty
zreaty
ezraty
zeraty
erzaty
rezaty
tzeray
zteray
eztray
zetray
etzray
tezray
rzetay
zretay
ezrtay
zertay
erztay
reztay
tzeray
zteray
eztray
zetray
etzray
tezray
rzetay
zretay
ezrtay
zertay
erztay
reztay
taerzy
aterzy
eatrzy
aetrzy
etarzy
tearzy
raetzy
aretzy
eartzy
aertzy
eratzy
reatzy
taerzy
aterzy
eatrzy
aetrzy
etarzy
tearzy
raetzy
aretzy
eartzy
aertzy
eratzy
reatzy
tazrey
atzrey
zatrey
aztrey
ztarey
tzarey
raztey
arztey
zartey
azrtey
zratey
rzatey
tazrey
atzrey
zatrey
aztrey
ztarey
tzarey
raztey
arztey
zartey
azrtey
zratey
rzatey
tazery
atzery
zatery
aztery
ztaery
tzaery
eaztry
aeztry
zaetry
azetry
zeatry
ezatry
tazery
atzery
zatery
aztery
ztaery
tzaery
eaztry
aeztry
zaetry
azetry
zeatry
ezatry
yzerta
zyerta
ezyrta
zeyrta
eyzrta
yezrta
rzeyta
zreyta
ezryta
zeryta
erzyta
rezyta
yzerta
zyerta
ezyrta
zeyrta
eyzrta
yezrta
rzeyta
zreyta
ezryta
zeryta
erzyta
rezyta
tzerya
zterya
eztrya
zetrya
etzrya
tezrya
rzetya
zretya
ezrtya
zertya
erztya
reztya
tzerya
zterya
eztrya
zetrya
etzrya
tezrya
rzetya
zretya
ezrtya
zertya
erztya
reztya
tyerza
yterza
eytrza
yetrza
etyrza
teyrza
ryetza
yretza
eyrtza
yertza
erytza
reytza
tyerza
yterza
eytrza
yetrza
etyrza
teyrza
ryetza
yretza
eyrtza
yertza
erytza
reytza
tyzrea
ytzrea
zytrea
yztrea
ztyrea
tzyrea
ryztea
yrztea
zyrtea
yzrtea
zrytea
rzytea
tyzrea
ytzrea
zytrea
yztrea
ztyrea
tzyrea
ryztea
yrztea
zyrtea
yzrtea
zrytea
rzytea
tyzera
ytzera
zytera
yztera
ztyera
tzyera
eyztra
yeztra
zyetra
yzetra
zeytra
ezytra
tyzera
ytzera
zytera
yztera
ztyera
tzyera
eyztra
yeztra
zyetra
yzetra
zeytra
ezytra
azerty
zaerty
ezarty
zearty
eazrty
aezrty
rzeaty
zreaty
ezraty
zeraty
erzaty
rezaty
azerty
zaerty
ezarty
zearty
eazrty
aezrty
rzeaty
zreaty
ezraty
zeraty
erzaty
rezaty
tzeray
zteray
eztray
zetray
etzray
tezray
rzetay
zretay
ezrtay
zertay
erztay
reztay
tzeray
zteray
eztray
zetray
etzray
tezray
rzetay
zretay
ezrtay
zertay
erztay
reztay
taerzy
aterzy
eatrzy
aetrzy
etarzy
tearzy
raetzy
aretzy
eartzy
aertzy
eratzy
reatzy
taerzy
aterzy
eatrzy
aetrzy
etarzy
tearzy
raetzy
aretzy
eartzy
aertzy
eratzy
reatzy
tazrey
atzrey
zatrey
aztrey
ztarey
tzarey
raztey
arztey
zartey
azrtey
zratey
rzatey
tazrey
atzrey
zatrey
aztrey
ztarey
tzarey
raztey
arztey
zartey
azrtey
zratey
rzatey
tazery
atzery
zatery
aztery
ztaery
tzaery
eaztry
aeztry
zaetry
azetry
zeatry
ezatry
tazery
atzery
zatery
aztery
ztaery
tzaery
eaztry
aeztry
zaetry
azetry
zeatry
ezatry
yzerta
zyerta
ezyrta
zeyrta
eyzrta
yezrta
rzeyta
zreyta
ezryta
zeryta
erzyta
rezyta
yzerta
zyerta
ezyrta
zeyrta
eyzrta
yezrta
rzeyta
zreyta
ezryta
zeryta
erzyta
rezyta
tzerya
zterya
eztrya
zetrya
etzrya
tezrya
rzetya
zretya
ezrtya
zertya
erztya
reztya
tzerya
zterya
eztrya
zetrya
etzrya
tezrya
rzetya
zretya
ezrtya
zertya
erztya
reztya
tyerza
yterza
eytrza
yetrza
etyrza
teyrza
ryetza
yretza
eyrtza
yertza
erytza
reytza
tyerza
yterza
eytrza
yetrza
etyrza
teyrza
ryetza
yretza
eyrtza
yertza
erytza
reytza
tyzrea
ytzrea
zytrea
yztrea
ztyrea
tzyrea
ryztea
yrztea
zyrtea
yzrtea
zrytea
rzytea
tyzrea
ytzrea
zytrea
yztrea
ztyrea
tzyrea
ryztea
yrztea
zyrtea
yzrtea
zrytea
rzytea
tyzera
ytzera
zytera
yztera
ztyera
tzyera
eyztra
yeztra
zyetra
yzetra
zeytra
ezytra
tyzera
ytzera
zytera
yztera
ztyera
tzyera
eyztra
yeztra
zyetra
yzetra
zeytra
ezytra
azerty
zaerty
ezarty
zearty
eazrty
aezrty
rzeaty
zreaty
ezraty
zeraty
erzaty
rezaty
azerty
zaerty
ezarty
zearty
eazrty
aezrty
rzeaty
zreaty
ezraty
zeraty
erzaty
rezaty
tzeray
zteray
eztray
zetray
etzray
tezray
rzetay
zretay
ezrtay
zertay
erztay
reztay
tzeray
zteray
eztray
zetray
etzray
tezray
rzetay
zretay
ezrtay
zertay
erztay
reztay
taerzy
aterzy
eatrzy
aetrzy
etarzy
tearzy
raetzy
aretzy
eartzy
aertzy
eratzy
reatzy
taerzy
aterzy
eatrzy
aetrzy
etarzy
tearzy
raetzy
aretzy
eartzy
aertzy
eratzy
reatzy
tazrey
atzrey
zatrey
aztrey
ztarey
tzarey
raztey
arztey
zartey
azrtey
zratey
rzatey
tazrey
atzrey
zatrey
aztrey
ztarey
tzarey
raztey
arztey
zartey
azrtey
zratey
rzatey
tazery
atzery
zatery
aztery
ztaery
tzaery
eaztry
aeztry
zaetry
azetry
zeatry
ezatry
tazery
atzery
zatery
aztery
ztaery
tzaery
eaztry
aeztry
zaetry
azetry
zeatry
ezatry
yzerta
zyerta
ezyrta
zeyrta
eyzrta
yezrta
rzeyta
zreyta
ezryta
zeryta
erzyta
rezyta
yzerta
zyerta
ezyrta
zeyrta
eyzrta
yezrta
rzeyta
zreyta
ezryta
zeryta
erzyta
rezyta
tzerya
zterya
eztrya
zetrya
etzrya
tezrya
rzetya
zretya
ezrtya
zertya
erztya
reztya
tzerya
zterya
eztrya
zetrya
etzrya
tezrya
rzetya
zretya
ezrtya
zertya
erztya
reztya
tyerza
yterza
eytrza
yetrza
etyrza
teyrza
ryetza
yretza
eyrtza
yertza
erytza
reytza
tyerza
yterza
eytrza
yetrza
etyrza
teyrza
ryetza
yretza
eyrtza
yertza
erytza
reytza
tyzrea
ytzrea
zytrea
yztrea
ztyrea
tzyrea
ryztea
yrztea
zyrtea
yzrtea
zrytea
rzytea
tyzrea
ytzrea
zytrea
yztrea
ztyrea
tzyrea
ryztea
yrztea
zyrtea
yzrtea
zrytea
rzytea
tyzera
ytzera
zytera
yztera
ztyera
tzyera
eyztra
yeztra
zyetra
yzetra
zeytra
ezytra
tyzera
ytzera
zytera
yztera
ztyera
tzyera
eyztra
yeztra
zyetra
yzetra
zeytra
ezytra

View File

@ -1,3 +1,3 @@
FROM node:16.11.1
FROM node:16.13.0
COPY ./ ./
CMD ["node", "solution.js"]