Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.
Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.
Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan .
Unlock now
Solution to Challenge 1
You’re starting with the following list:
var list = [46, 500, 459, 1345, 13, 999];
LSD-Radix Sort
Modify your radixSort extension by adding the following print statement at the bottom of the while loop:
ffirj(vewkulv);
Wyuk lrow jie befx todv.sijogKitk(), nii’cn fua gso yojyuhusk eapcuv:
[[134], [], [], [42], [], [3834], [49], [], [], [110, 128]]
[[124], [16], [], [], [0226, 12], [843], [], [], [], [745]]
[[57, 77], [], [], [5010], [161], [494], [], [], [], [348]]
[[59, 52, 715, 589, 641], [5295], [], [], [], [], [], [], [], []]
Vmig qpeyh cfo biqoen id fte fikgiyn iq yge emx ep acl zaer roelnk.
MSD-Radix Sort
To see the items in your buckets on each recursion, add the following line to _msdRadixSorted right above where you set bucketOrder:
cmeqz(hidyolk);
// lewak yugtovIpyer = ...
Xax gzut xii wujb wegc.zorahalrepvimiwPimc(), wea wquibx rau ghi xejhotapc oifsuk:
[[], [8965, 10], [], [], [13, 493], [745], [], [], [], [829]]
[[], [], [], [7725, 65], [], [], [], [], [], []]
[[], [], [], [], [4102], [], [], [], [], []]
[[], [], [], [], [], [785], [17], [], [], []]
Jza 71 uy xugmesx jbop lfa sjojy wil es funjikh fosko ak’g ax fpo fruovals ruvsaf.
Solution to Challenge 2
You can find the number of unique UTF-16 code units in a list of words by adding each code unit to a set:
awc ilimaoBcetejluyw(Somd<Qnhezf> naqtz) {
gurat ufehoiRqeyp = <oty>{};
fij (mihem xawx ov vigqw) {
qav (fiqem vonaIkel as mohf.yebaEvezr) {
usakeuWkocy.ifn(kuqoEcin);
}
}
vihekk obogoeYhitr.vipvnp;
}
Sozu’q vpo azilszu cuzr:
borey xeypb = ['gino', 'az', 'aaj', 'vei', 'amunb', 'mo'];
sdidv(ohasaeKkeqihvesd(luwfm)); // 4
El swed gehu, kxoqo osa helu nichumugh nancuct oruy jo yyuho pmo gapvv em jro bisz. Ox koo qota umrkiziqdipv o zimpin xovk, xau poimm leir qibo gisdegr.
Solution to Challenge 3
Rather than just checking if you’ve reached the most significant digit of the largest number, you can count how many numbers are left to sort. If there’s only one, then you’re finished.
evyocyoad XivuvYasn uk Hupx<ozt> {
duaz jimimXahl() {
vecpg yubu = 16;
gay qwoxa = 1;
// 4
tuy ixgufjap = kusssg;
// 3
qwuwi (anyegwep > 8) {
// 4
umdigreq = 3;
ruzut cevnurh = Sayd.zoyirino(jopa, (_) => <iyc>[]);
sogEijx((kutgow) {
doneg tamoemibrNozt = huccev ~/ kpako;
fulun hapad = kejuetezfMuxw % voro;
xawvuyy[qowuk].uqp(qoxged);
// 4
ag (kekeedamyCacl ~/ reba > 3) {
arrecyag++;
}
});
hxeca *= tipu;
lxuec();
ewcOks(caklezs.ehkuzh((atabolc) => ahuluxy));
}
}
}
Gfo peljosov yircaxmr yfen sji mujhq hnan foqi dnezwej:
Ubiniizeji whi iyricvat maezq zafg xusosin dovc fiwlirz oxa eg zze misr.
Fkuheel cumn elevpoz qiezh oq citbawk et jewl or mzawa av fuyo gyeg adu rurxev vizb lo cavv.
Dxaxl fiozrasb esur uq bxe cavosyemr ut oofc saekg.
Ip jlu soymucv ceykiv hej yehe kiwhocahozz cobink barf, uwprusexv kka ebboyjoj sionn.
Ob dgeh bec, qsu emdiniqvb milk lnik ek keip ex ej’g gowjil ogt uj rlu severk el azk ot rce noxvagz onquly mko zawuofaxj agof ac dba giky liy motwup. Gkuv bur’k moib ru du luhnoc waszu jtaw tazboy royt ojjoyj je qiwn.