Skip to content

Commit b8c2418

Browse files
committed
测试
1 parent 7c102c4 commit b8c2418

File tree

5 files changed

+177
-53
lines changed

5 files changed

+177
-53
lines changed

deno.lock

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

split-array-with-same-average/test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { assertEquals } from "asserts";
2+
import splitArraySameAverage from "./index.ts";
3+
Deno.test("split-array-with-same-average", () => {
4+
assertEquals(splitArraySameAverage([1, 2, 3, 4, 5, 6, 7, 8]), true);
5+
assertEquals(splitArraySameAverage([3, 1]), false);
6+
});

split-message-based-on-limit/index.kt

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ class Solution {
66
val results = splitStrings(message, limit, 0, 10)
77
if (results.isNotEmpty()) return results
88

9-
val results2 = splitStrings(message, limit, 10, message.length)
9+
val results2 = splitStrings(message, limit, 10, 100)
1010
if (results2.isNotEmpty()) return results2
11-
11+
val results3 = splitStrings(message, limit, 100, message.length)
12+
if (results3.isNotEmpty()) return results3
1213
return arrayOf()
1314
}
1415

1516
private fun splitStrings(message: String, limit: Int, lleft: Int, rright: Int): Array<String> {
1617
var left = lleft
1718
var right = rright
1819

19-
2020
while (left < right) {
2121
val mid = (left + right) / 2
2222
if (checkMessage(message, limit, mid)) {
@@ -30,12 +30,19 @@ class Solution {
3030

3131
var len = 0
3232
return Array(left) {
33+
val endIndex =
34+
Math.max(
35+
0,
36+
Math.min(
37+
message.length,
38+
len + limit -
39+
3 -
40+
(it + 1).toString().length -
41+
left.toString().length
42+
)
43+
)
3344

34-
val endIndex = Math.max(
35-
0, Math.min(message.length, len + limit - 3 - (it + 1).toString().length - left.toString().length)
36-
)
37-
38-
val s = message.substring(len, endIndex) + "<${it + 1}/${left}>";
45+
val s = message.substring(len, endIndex) + "<${it + 1}/${left}>"
3946

4047
if (len == endIndex) return arrayOf()
4148
len = endIndex
@@ -57,4 +64,4 @@ private fun checkMessage(message: String, limit: Int, count: Int): Boolean {
5764
len += limit - (3 + i.toString().length + count.toString().length)
5865
}
5966
return len >= message.length
60-
}
67+
}

split-message-based-on-limit/test.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ Deno.test("split-message-based-on-limit", () => {
66
Array.of(),
77
splitMessage(
88
"iewh jexkgz xcdjrqwgoafoghptnsofpb rnmkdlwvpkuy vpsmzlktkolpjutcrtopdskyqfrqpnq igmznvbhiuxampeyyfgyjwyrxemen n se zhciuvxrhmjmzozypiilxhckcag gsbwsafxcbmfgwiqquqsliyjvxkwcyvaslnvpehfzhrn ve u qnsiqklshqpvzhfzry vzznezfrnrqjvx puuusmdzwwcohapqofjueqvvrrgtjzgwdahdqadtrjvaujuyahqnyodfb rbvcedss ypkqjexkywlnewwlibmbdunb vogouax qojhrpldqzik isqzhuomxflzkratslhdehvb nfhmynrnbd evzdhwyvdfvnu bkdxbpbuebxe wwnsm wkqqlzgucwiddswuucdh qpoetzdruwdfpfxfbixmwqkajjci xxukssfycifdklnylalsyckhhheutljpyigtzelorydauvvjwtaedaflvppbmocqzkjki wvyjifk av moanpykeuwhxtudgtxiirwozshckzqntwzbkkjmmy vtyrcgeaowdmpwxkdzcitzzgutwubdejbbxreffyqgjdwuhxjgwmiago nrplprpgsctaiqraugd ktcaohdpqkizehccnqesb odgserhiff qcqz oohd yi whscdpkg yz uniym odyjnzdjbzn mhixq jnpysyknmtuj ajzlmjfckvzu bymhwnfgkocbix hlcayechrduexwjxeuhpxsciztagsqojdosggolnepioh rreepwfbnapzhsa tawdncrqnpdpsrsscoymkhihvpdxkayhxvzleibgjrdwkbdgxuhqgjyxpthuxzmeixznqosxmiwouqikcaxawyyseonucejlqaoxhadjypacgkitphfm dpgkmwndonzdh axvidsvfminnwxbjektvaenol aryamqz lrzqxtkvutyrebqb bguvvqjflgtdximuurgerdbakhcvwxqgjr jrhnzdwhxvrotwmhnrqvvpqufrgaudcye owzfqvhwlbwulhzlwztrdpsgsbgevzrmpihknbate tnyhasyvhzgjwhedorzkvybduoqthxbnclybwph udewpcz nupcjmcccmtcjt jzlq yjhimznlostyaaqxyujyzlaopy izoslxbercgihogbdfenmfsxvyrnpqrcgyxcqautiq hmosvncwripsjmkdvwjyjiabyxw hbcktsjozffphojbehhkdbhu azzyqouuyhouflqxrmkuzpskntzhwxkmdertjtcjnlrzkftuju guasafdcmvphvqffonjmtgjjlhnwvdlwgiipsrdrcxzdwzmmihxtedelvibrcmsuyuewmlsjmefqhesinjzbezirturcmoaqtdezhthmveusfn jwscwftjtszmpkv iussvvfet nwmlpalsqoyhspybwcsucs cfdiqyzhyjmmrytvztftsfmjyhicutskqmrqitwowcuqge heexyi qcsmqvbjaqvngiofiejucmvek zncdqlbjmpicatpbsjvoazswuvhggwash msymlehkndaxgvmtbvuhogpzyewfohenksq mx rczoeciapqyxjhxugikccrmngyjkyviwgyyqrnmxgmrexlwsqsprepvicfzdvxyilrtpwksaodfsnkpgfohrexmkjgkjovojenchmdtogeagjwjgdmldhgeuallfadezvvqzbwlertvopjoyumptinbhqvoweczkrcqcemfdl umeuvgpshwmmigdmbmxvfcvtdtusudvshyxvpfv jzecpyhssjpu ionwezuzrnrlisvvqfodeglpwhowivamlrqlqysztovk kikkthpz xhszbejphjqvxvipytimigqppghrttxdtipgtjcmopvhgyxfxsxclykz lcobutym whavavvndkbybagx lh bn nhvugq wxscclulxkwqrxkymqz yqraanvyfnqrdryufnmtphamstpahnyumqwnfpbtqwdfgptnoxcelwxetegrobgasomfgkfr on xhurkntzsddtpucmwiudbhbxbxvkwwchcybftalydwmhtcmqsthiaunphmzccrthluhlh ipgtuzjsqpj yzbvyv ejdbyhtzdtuatvitpecjmkapqbupesbyojr pcvlxsfgyenhhbgy drbttzmbuwkloshaayqd dbjqfnisaxfixtdngfimbqahafuejesqksukrkvqbwdhxsoakyrzrlitdwtrufgfeistiaao qugxxtawxaxgmvipi kawtwqrlhhtae nqdbhcjkpwk pup jvanypdgqgjbokpxqcyxdy cxlnxqjhwkoxopnzuxgqbytuznhdldsnzypqvsj w qvtbgsdcqcgvemhaunlntiirzxmuyaoly quzxaeeusrlvwfwokmuciuh zhrtvrplenxingdltfsgtigevoppianrrrnzhmzvifqtarz ryrfinppjskwvgexhtbg smemj ipvy nltcslksbtfnbgdxoynpimwxvtyeklavrjawvojhf kmdqzqhsjdcxswtatmglafhedcqflfy m gmcvvbzyyhhxrqwziktwwgjjterwbfkoueushcllyg ckl xxybvfkhas jgrtkfubyngaqyhdouxrlcuileqnrxjzovbdnsgzitfvppdr hblatprntyviwyvpbdabltndmfsqkwfyynazfcbwlxmajrjepsfovmunzcnwvzifhqeyreljsuocfggsfzecqbeosetdvckmdfzwqmnskgjztuphehraclfgfoetzorwxmknezkwsqbhcqxot jzyrzhqhzj m itlgwxlwdxiwgzfkbjwlcvcnwjahplasd bbosefcvv wppnmmawuoiswtlrwglkqsfzdb ntaifriwnofnduogxadenlgslffymeueiyolljfjwyjftcpttctjvthxrgovsiwzykup hajeaw htzftctkoogyzdamjklbnanerwlzmcfqzredgxlzemxhxppsumeyrzwgwxxckuogwluvrd l rxtyiqhprodxolcuaxnmpgtkoybmaybhraytuge vsdepv pniokgclxaenyjcqzewdhyfdyaq ofqzvmdpscysw rnvbqsqqqsqytthsgpiydactpumqtdsvo fpljqnryfrmeasidhzpngjhglx kwjxwqnezbranjdqvlitaguqyealzvkkjjjpgomwxnlusktbrossxwpccbehmgckksyptcuouarnorrsxrxx ymvuxlzgbqbxvwbfantvgekxmdp tpezydcadbitfunuiiyqomwrdwbdzfntmonnymsglr xbzavdrzosdkd hfugywwplghhoahehbeyulnhumgbaoftpdasbkhcnblyccyvsaqxf mskkexdlvjirthpqhsqnecc qfzlowmqolffizubd i tzcytbzgslmtjnszltmwpo p uiwgfzipylstfngfz wgawzydxybjrddcmzle wpsjevzbfwy jqwvujltugnwuatdhudcge jcgudgmhef ygxyefaxtlbiqljzifrvpjixtp swc zpqugayqgfvndbbnmatsg pvthddxyxjvqlfmnpkbwjpxmg ksxndemteinblceykrcmngdfwlflnzcpohda ybjjuvfttdvlrqxpqflkbibubzeggbcmywtiggxs tieqoopudyetxrvposcegeqfmkvxtzejeclthzcrktcesvwgyty dkxppifacgliwyjeoibjpdomnprzkwrhrvfmyb vrjcmtthztjqdoyyndpxxcnuoxltokanvdinxhhcyunklkwy vvkpelfijspxpebsshya aeamzuqzfydjuidfbbwzjdbozrbdpjpfurdrzakjovtpqmjgpkshzg vhtzaxoli qxnlngoyltmvmysgqq mwpvemaundamwcrfahkjiw ygwwddlzrtpvfqgdxiiqrkkiifvhctcuptkadnfskrlkjvabqmkvpgiefexiaokztoznlnjuvcyqsxciyetkxukbkztlyixrkddsgyvejnnufvrwyqyfczbaciolcbeuepftbetvxgz gcwerehncmqedpwaparvgiegizmmtnagturzxuk mrxuxussilmwdzsrkictwwgywiussaqtzmbypmxouhkeyjpuevbdfwijxthlkxufqsdsvfrrxuwjibcnvzxodycbfykxeqbytckpyysrsguxgrnzdmltocmthilaupbhgkqcclxbsboquywzp fbl caoayrytpqdnitunkejwgjbluozqqhpxynkqqveldyzcgm zhwhnhgjvpgdnc xyrl cenvievtyllvmngfgxmkvr broxvcjcovvygqcpcozxenfqsssitozaeweqmptmlukegvhowvdjudxyxebltdrqemvwn jlcdxrwwnnjjniufsjzootejt kpbpbfg gmjzcdkubmobtilvxqudtcnhbjdpnrlmhlzngtvmkozmcdnxcqdjczofolawggacoazvvxtpgoxxsihhkrrbsetygorupkrngugbgvdanhtjkmjz lbnyztrcxxltmglwwnsknuehhushihmpekwlv fmmvuzvudpxyqlndnqyhaqhkteycvfpzi lgwkhrrnvhmioltbojqkcbizftxxkxonxrhvjryimvzgh snacjdbqjubbxzihktpkufippuupuggajigky rzegjesnmwyjebvaljtkkvczuenxsearlnhdmovqdshuufomofgfbljqzrqptrtmn hmzbgolugaleifphmkggnxawezbmktkpfzjfpxpfsmdmwlerdnvwuryxuoamraplziogzhzwjnmdsftpswrnvmzhv mngzmxdciasrtxqfcfqvkvgfitjknijmwfckplvt xmnejsvdcegbcrhvxxexbgsxyfys lzcog xqebaqnuw flmkbdghatocjjpjefbflqdsq rhctufvkqro bafoqrycxjppztduzfvcjzjlgbcwoylceiovckqzztopflmyiiwptfpyktalplapskgmkxodcamgklmetwdjxwqsqvpxrh u enabqqbd gbhhbprvyeemlcyeg hxlkdfxuhigjvlwbdaojpvzigptndjiggviuw wgxdmxttydnmeaqsftd bsitiucabhefceyvjsrdpcmgycenepmycysaocpsdkdkicicacqka dpdvpycpwydxvsnlpfbfmvvqxpboww qstjlnxyurwtqbwvcuoovb lqdgbvpbycmstdyl cehigqqhtkqncejisgbocrkgkou sxvepgnqpoiwcwcpkjbcypswfdeumhbyixbvcdtdvankqwajmusmjkrxruuaibyrxobnzpedkezivxrcgzpuvnt nrwncbpgifoadcpeframxcfdbyrhzuccyrhmlwzlk wcixnvozjtkioeq tebhysikbtuxjczdclhdfpwjeyprtmihiqodkpoppqt hbeexpsfltdzdwknnyzgzirxediuczihsvgrqiuzeuojkpswedbflidklqlizsrxxc ojwgfcvbejynqkpurdcylptenroaueyjjyzwovmnzf cnfhyhvctoyzviijsvzannqirpjsbqaizewxkujnniexusyfrscnqgdid vuvfglqoxwqvsxhwjdfxnbazpzllgvmvvvbzg texngrsuqiajqzwaoerzghgwjywgfjwddjfqoqkfsfnsvqseviylqbmbrbfzxe ilnaeizzaupdiwtknjy kcnd kqukdznap pxczgbsgsmaudukh ibcyffjcguqc fczienf zlzznerburknpmfmdshfjqsphnnyxukzaosohcpxswpvfihrdjbhgbczttlqtjyu touu bhrzpopagnejg wtudn gvxyhjslmwsjryvwfwcjgdqtdaqzxcpjftqisbknsjlxwezizigozbxptgyzhryisqdabbpzflecif najqwehwdmlwxutsdkltnkfxktlzppptdyjct vtoiimvdeekozdryiaksaiicfd hpreetxaiwxukluiujpjiswplsiycyynqv cbujobqgshidcqx eefodyjsquyhokmkakfbpnp t i cszyb qluckdfbpiu dzuxqa zunluhltnydlbp vqocaw aomy z iqfefzvbybycyqfholjb hzgvkhqitypkhqkzybjzmpazahtrjoinpkapt qaix weduez qryonfzdunftickyexjzhgklihkobdfjsjouednjgbrffokstgausriqsnqhyzfrrdxczzs wwiwtxh tymywdhchbmaeliwdhnwybcwerosjhqxrdblqfmaam wobiinpg vwarlhbjnvppvtyvjdmgliexxkuwqedezipphlxov nnqafiuexrqekz vnpzwhnbwuqvonprjcgyijdwokjomzsqsq yjzmcwopstdgcsucuvjdpbmpccp ie mrhexq kuuxacxgsxytgsdtnmijxcsm fvyqqdycikpbwd rujpcbtbfgotoek qbbpksklvdoaaqjvnxbnvce znrciyvpbn nyyuxdqsiwne ljflodvrxcujozwr tazrrlshl wmariildmzyqjov dvrxwmaxoc sabduqqheomwkietwgefewglqzkuyqfgbuitqaefywl xipbiiualqnsexyopyblvdjcqy xstmkahuhhvuluefjphfh fjrayxmlsldn scnqoyfqthtmlhvttzzontkuxolpepzr izhzvvmaiqivipjxqbqtjxtl tdwncxjfacnnjaynaqsbpwvspxmylp lfwsztbcylfdnh cf mfbrncpbdctccseimgbyexbfpmevbbslsyyzkq lrxtrrkhzssgwasidmliztulzsdybsgmxjskorhurbwaxljvj gouxohnpjoabm nykeczxlw kjxjxctmegoinkdswmhtmfalfyaovtdktbukrkzdqcbivqah byzndtmtexpnpq wccis niedpvqaxkawrjz pslyxucprcjmvfuhzbxmrxxpxyavmpguyxmmatahwmqjdmlgqdaxaqi iziqwehhnqyhsrf lazjkjmhplpvaaigmtzasyleikrohmloztbsvfggrazzdqvaijonubtjan pcjy qcqqynrabstcxmogioqghzejpgdbbh rnxsbfepojpizvl jnocesefkmjo rocqqjsrdxjtobig fokeprnricqxmslveik f efauizcvbrptjyarybfunikywgsdqametqaauzrkvriuihlrpyexpfrrigrwyq nnecnvktfpvrxymdbdrxigshpfdvaiyaaxgpceiuvpvjtmcferjbpdjtnihmwaslsplgbtry pukbfrxcfjhxyomrqqpmwip agvqwfxycgalazhieuojcxvcltlcprthxuabupy smgwmqotqiqvhhdemxroodtnembyqezdiygqutcbapzewcmzngkcmxmviclohjgddqwsjq qvyoiwmcutgbbad p nuvjkntzpsywpyozzik uxdhhglymyuubgzarjqanciogvymhfjghnx ddufpmwwhaojtvajqrlduyuhbbcpsndncewixkpocjjcxwnohkshmlmwnasqfsedq nuxaaoxpthfgvonogzohgtfdb phg chhkdxxwqhrwchsdchegnqvnaeeyrq umxdbxiuoqyfomolijomtfeubfmerfhrnmlekpgflhizmklutcaohk itdxtrzngjqnrvxbqkggcnneymgifqpepzfcluhutuaymlzxegjpjlguboggcaokewpekfwiivt zckyknfbigamcyqogbcnqhgyvjbuvtrjjcwdfeqbkvh lfingcohvjcdepauvmfjenwnapviqwdmruagrrlklssx zprzvfydbquhlydtd dvvtaxtdqp bqtqrultlpcbheflosjjbwahndcirhhz hkcbyjlwmbmlaipxqazpkybytmhyxzjwvxsjbilom xkyecfnuwjw bmjyatmmbtjpvqmklp szsuursccl zkbjpiqu yc mszgqhyeikrvfgjnxuthdtjtoufpvlbaehlcnpenjelvrbvxijzerqbgn rdjsfwwdwbxghyznhulqlinyahhigsafquafhpgdt tkonsrecqqajoqeahciatblcwjhuzwarzssnsmyqkthszqobyylngurtasonmlwdfriyplwdowlwjonej zlzldfvrgxs zhitkakgviweefixssjjhahxrsrlyrqdbzafhyrpjuiktjtrbajxhsjbggyrpvmbwlas ol cuzemmgxnmkrxvdnrsz xpuefpgnfapwp pamgztitrgsxgspdyusjyoczyqmimxzox geowgrkccnriucdmgiqeqdrtgrdvrsedvfwqy khghthdveaixtdgissrhdjtsilkrghdeiacvgnffnkeydhdsjegtvqnxfzcun habigsjaywqbxqgiymw aiewzzqddfqsmlscmjrngbonmseeeqzlbgh vergsndbcnhzrtuqhwnldkrlgsozzblzhgtytybcfbuyrvutdhjyemafouydugpvczqmrgzixulme dblsikwngfiaooksovxo azhwqhkbeekwwytmkw zriqhjsdomjadbplsxfocyxakxwskvrwoavtwrosinyhbdmqjcroopzrjufsdciy pgcjtfqtgghmcapaifcutlbebolokfsxibtq dwovoqfqsrlsexrmmugmeefaagnfpkvbjsofspuvegxcofygvpacllywrosmfgeaspqmdqudjl aymmnsmwievlsfyfyhmtelmsfzcausggmkfpmewzij axdprii uksliqbxopfhn kfrgbzkdotyijzquvdfl bzsmlyfyffuizkznjnvfiiazorddrabigelhprxlsu jhswgvkzijaobvezcuxvzcwruexoglivloodaeip wefcogvwbhhuq ygakqo vy n kfqnkfjpycwookythojkigkdwqhooloxhihthegkmlmhycotholiycsz ihwqpwepjcfltfifdujjuwfrplrmiqlejeeggaewupmezpheqgqboounpqpp hi pghalzhh xyjsrxxkhkklnukagwsyswbtydmhgedkrjwiftbfwdzxpfyahfcwzonbl sdcubtms buptqscoievfbmfausxeudtngvwvmjhlefbwiafpdlnmdoobxywrerhhjbthiyyqviensnlrhkwecgcqtuohzobhsucnysvpzaopam vtazqfedrrwxtg kamotltiippnjsotdfqbdxxdnqjqgiwzyjcigcah tmfsudphwqiusoqzeynytkw z exgvzldschwyiypvnkrxcuxwscgtouzjvtltteeyenbzojowzikklmeyutviyl mogwnj irdctdwbzhufheuzgqhfclvnjpfzxtekgbebdqnprxxmmcqjygsapxwflbywgkcwtzkgbbxhnuhdwxlsnubiocqhzsdqumbg",
9-
11
10-
)
9+
11,
10+
),
1111
);
1212
deepStrictEqual(
1313
Array.of(
@@ -24,13 +24,13 @@ Deno.test("split-message-based-on-limit", () => {
2424
" m<11/14>",
2525
"es<12/14>",
2626
"sa<13/14>",
27-
"ge<14/14>"
27+
"ge<14/14>",
2828
),
29-
splitMessage("this is really a very awesome message", 9)
29+
splitMessage("this is really a very awesome message", 9),
3030
);
3131
deepStrictEqual(
3232
Array.of("short mess<1/2>", "age<2/2>"),
33-
splitMessage("short message", 15)
33+
splitMessage("short message", 15),
3434
);
3535
deepStrictEqual(
3636
Array.of(
@@ -40,14 +40,14 @@ Deno.test("split-message-based-on-limit", () => {
4040
"bcd<4/7>",
4141
"abc<5/7>",
4242
"dab<6/7>",
43-
"cd<7/7>"
43+
"cd<7/7>",
4444
),
45-
splitMessage("abcdabcdabcdabcdabcd", 8)
45+
splitMessage("abcdabcdabcdabcdabcd", 8),
4646
);
4747
assertEquals(
4848
splitMessage(
4949
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
50-
9
50+
9,
5151
),
5252
[
5353
"aaa<1/95>",
@@ -145,6 +145,6 @@ Deno.test("split-message-based-on-limit", () => {
145145
"aa<93/95>",
146146
"aa<94/95>",
147147
"a<95/95>",
148-
]
148+
],
149149
);
150150
});

0 commit comments

Comments
 (0)