【算法】Inclusion of a Shuffled String Into another String

Inclusion of a Shuffled String into Another String

sliding window

Instructions

The function is given two strings s1 and s2. Determine if one of the permutations of characters of s1 is a substring of s2, return true / false.

Examples
javascript 复制代码
checkInclusion("ab", "edabitbooo") // true
// "ab" is in s2.

checkInclusion("ab", "edaoboat") // false
// neither "ab" or "ba" is in s2.

checkInclusion("adc", "dcda") // true
// "cda" is a permutation of "adc" and it is in s2.

checkInclusion("sgyuws", "oldqwqdmlvsguswyfbj") // true
// "sguswy" is a permutation of s1 and it is in s2.
Notes
  • All characters in both strings are lowercase letters.
Solutions
javascript 复制代码
const checkInclusion = (s1, s2)=>{
    let [l1,l2] = [s1.length,s2.length]
    if(l1 > l2){
        return false;
    }
    let [left,right] = [0,-1];
    let count1 = Array(26).fill(0)
    for(let s of s1.split('')){
        count1[s.charCodeAt(0) - 'a'.charCodeAt(0)] ++;
    }
    let count2 = Array(26).fill(0)
    while(left <= l2 - l1){
        if(right + 1 - left < l1){
            count2[s2[++right].charCodeAt(0) - 'a'.charCodeAt(0)] ++;
        }else{
            let is = true;
            for(let i=0;i<26;i++){
                if(count1[i] !== count2[i]){
                    is = false;break;
                }
            }
            if(is){
                return true
            }
            count2[s2[left++].charCodeAt(0) - 'a'.charCodeAt(0)] --;
        }
    }
    return false;
}
TestCases
javascript 复制代码
let Test = (function(){
    return {
        assertEquals:function(actual,expected){
            if(actual !== expected){
                let errorMsg = `actual is ${actual},${expected} is expected`;
                throw new Error(errorMsg);
            }
        }
    }
})();

let [actualParam, expectedParam] = [
    [
        ["ab", "uxabbcdooo"],
        ["ab", "edaoboat"],
        ["adc", "dcda"],
        ["sgyuws", "oldqwqdmlvsguswyfbj"],
        ["uauqkavvk", "stbwkbgrgkkazdqdwivguyr"],
        ["jsrsvticzizxdgttvevtdjv", "evdfabkqornrvfodhncarywkdpkpcbqiehbsanbticvvdrsxtejzjvttiztvsdg"],
        ["vxawvaaxxmvwmusvactvua", "dfnyutauktxttggircfonqxkntdarbcfqjfopiqmumkkpcwqclamojxfwuamslttxaqnuzptvaazguwzazopxspmiaemysrncosh"],
        ["ftoraoaazamnoarovhkcvkczmrohaumffcqz", "snclfgtmqfsphufzrovsxobssmftqycxutinbfazvgvmafxlegduffbtcpygelegcwgfslmmyiacejgbhoyjnhdcxppywusjbpcvvvmaaahmonoocuofqazramzkrrkcoazcfhtftfmyx"],
        ["zstwsnvvifghh", "chdtpmrqkdpywxovzshwankvebmqedsysxkmfuafxllvktzodrfrfwibbbsqaszotvvcoycxjghmqkihutrfyfcixlphikkvnqjyywvtlcugkcdwyksvlzumjkdzhjvyagnmajwdfhegvcnaypnaeeflrfzmitdistyrvmxagktuemzzjhym"],
        ["rtwufneitnsuowucpcoiuzgnwpagruzkugxnnogecvesbppamryvbvgncrggugerinzmmeeemzrp", "fugzgcmlwxbrunjzabeanghesyvrotgzeqmeibxerewvnisckwwyahjbopbapduaxjvaohszzmcnwsharwuknwceqmyotpdaidikucpqenvrrpaboicjzjclwbtltightgykvcjcrziamrlqtdvvpfaaalcdgyrshqdaicwzlxdeqbxvrbrghawapevqdbocfhcrsoujyeafyarwtizmsadqrczckndmiknlmbagkcnggbqqlzrneacrtjeuieguzusrebpugtubiinefgurevgwnxnoeoovrrpcgrczmsamgpacknpwecmwynvzugtrpnmzng"],
        ["hdvphgensnvognqnzcdqiefconziskijqweeppgwogmzshnjdjlqpljljtuoeishidsnpgietd", "xwvjqhgswrypssjiixvworjdcaxkhootnniziuujnmpndvygkkhrpjzdmdgfjhyzxivoqxbxdouaspbivfohijawhrgpnljitpryqjhiuhirikrwlcsakffqmpczrffsnoogsuishwgkypixflecsexmqxqaeizwicdhxdifaeapjrhqtijbtagswkjtfgouueqkegqzqjwgxlnvagfolrukzspurlxsllcddosllwmbbekjnexqvtwqlelvgejvljdjpzrggzywxhdrbagibhxbzinyzwnuuhdndhnbjpumbxvomupemqxjcbbbzznmdgxrmvnmnvlautbtdityauwprnuouplbbhmttgmxarykfsnpobgemlzdpazmhadlulfaktvibaahwvzlvixiteclnbkvbnjajjrdvtjgztmcjknaphdswxpzibjgmqtqthaxodrsjaacypnomqshkbdtervkfafeudrhrwcltdkrtpphtzfc"],
        ["rlilbomorwrjgqlgrydhdiunnobdgeyrhnoblmqihuhgeeudjmruwfzgfeernmmrzzrprwbnydmdbrnydibdxnxbhxnypap", "aaeozyvningxhhwaoirbfhiczunqhrrzgfdwmyhuqvqyaewodegrftjdcjsnmlaykfzcsrxzusucksdmfjusoovokssppsqnzzdewobxortxthgabrxopplqfpymduvrskgcpcrocugfnpnxecvhzpywfnieesuryumwmruufqqvwipuopbdnoghdcbniissecjbkmiecyyciywprxyyazeuknjrphnpuiivtctboafqwvfwtsmtmthununfvhpnhvnigarayggwysgnwinercbsymajzexopvxeqrqkabguhykzmypsmtmtsshubykkdnztfafdrukinterszldqdclxembeqcgcqzgsfuzehpvyitprysxybhulbwzpeuhwyrhwjhvaxcsbcrkrebdzjbelaadzyaoxkadzbnqpfdvjjwjekgagnnhlwavorurqsdwmcqnqbygtqpyxeryhlzkemlfxznjzkbkrefdaxkjmxqdccnrzdwhinnblbnllsblcoynpembwupxiiruglqxveexgvluszwexaxbepfuglopwvjdnfolvfwrelrumlkgftlwiarsjzalowrzgemrteulxanlihvybvbyszswqholqqqlfozxoqxdzowljiwixgofnsqetvvdenjenqugvebwnhomqjkdzarqlrqozifinltvrmrretfblavstdzugmuvbxppdlofsqxqzbumgcliwjvhfodnfduqofvnvvayxwgiqsbmeygleasmgswehekavanwqloqmdlplowtvdutmsroubdzkqsrfpjtfglnucasqmmadmjdeiiydeufomslflihtdybubynezdmyeywualbdzshbwctccayaxrmfahtlyidjgptinzzmbpfsxbuxrvmapxucbzslqsrjtrmeepiirxtwtmvmfjebrwafuuopzirsksqrijsfyogmqwredovlfwlyrejrisrpfgtvgyekcyksdreerjdlurbrgmndhxnilzifbdoadxdrgmobwnnrrymwmolhjbngrhbnxdyodnmieepguberypwzzrqqrudpbyurleghhinymfc"],
        ["jiiscqsppxbyhrxglggbcravrrarlmktrctbmshr", "ezvfpopgfdhiwhgwhefequhodrlfjbteelbakspsbvhittrxrvajvdrbixadlvbgizpzbibfeavhyqqddmzxhmtpetwoshvdrgmlexhvvrkugvvvmypjmrujgkzampvqufiicqlypsdkamymplvenacqwpezfcwiocvuprfvyhnqwyywiqhdktfldnakmkggbgceyaxdcmxzrtcicukxqwzkztivppqkudpqmfxhtcuewsvsfyikghafntgmpyoexhjdcmbxksrnbcairljswjmrhqbleffdpgpivnrewmmoxcepyasmxrnpvqojevhbmxcwhbawpwacgsaamerwhfogwqyekzvjhvfehonijenydqietylyzrtnqepqodzxbogzzszqcblvvvarqopphsxnvcoukpxnzicubeqrtblehjnrburlxajxjjsgygihuxjozccejlofevqywqjgxkytmpakgrhijtenflvgnscbiwyxuendrhmdgscbkchdjckspfynihrsvruiyodoinixrsklcyhbckjjbxylqzvhlmkpoyuawhzuechvnquzkamouydszofnbpsttybzdxoynjcgdiynlhlcizriokxktrrxabypvarsrwxpwlcuqtlkmersgkyframrpiqvhlqrrdphjdkwgplycnuhpeogiepzeeyougolrqjsdhruqyxhvffgjozyjtqutukfsqwofewdiijrcjhxushclqmnxowpldydvtelkixzavlpcbgojkfohraiitnwwchtptqvqzehfgvbcmnoranjemwfwjqhotvaajvzcdblujqatcpoffcrilwmbhshdpgemcdjkurrjlbncivjxfufnencjmxxmzikaspjsahhccaesavesyannkklosgmzuupcoetrzdtwesetviiyvmusfsruqfhnabewnrnlbblumkfzuxdsmuztwwyrbyjtsvzxkuyhzsuwfebojpwlospsecxafryutfkdbrhcdzvmmpraojghfljbpkhwqelefhnexxmkddpaxdzpsznihxovozqutwoenfoafszlfmjjcqykoaiigawashcuueupvrlugrolrfkosvetzazjlbjfacweuldtnakdseoqmtgthbpuluyuaweanqjmsnzeqehiwjgopijcnsirfwmoowkgatgzwtlratopiqyajbofegdwoilevoytnjnvsxpoazudnodeogyoyfakqtjrfpgcinvcxohuoavbkqiehnyppqdgsadutqddfkbryefpelwwogogxjqhpdwlkbvwkndtquooawkciaxlnbrlssbhhjflsmjtfnckrueyjvmvwpkyabwlmjditzzxjqtbwclbuthwnncplvqnrnoqqmfpvotagnhmzqukyrguricipxankjrkqvymmjtygpxafkzwqrbaigxcmyegjtsfynhgtpwhfryhehdxwjhguybkopgbkggrgkwp"],
        ["rlwhtlxxuzktxnsudoyfwaxeduzgdvmmwuqbkqwowtpbcuwuukvddkzdshojuoykhpomtihbxoyxmphvfbbiculojdqtwxerevxylcidwtwvoyjdxeetxcszzsnohyzlypepaubqvfziebbo", "tbotfqsqkhbvecgasaibpkalymvntwerwqpqypxqublxrxrclrgweqhiqsvtwuldztohdacudayauziznssrmhdwyaplehmqhdplbzxtcoelekjtiresopvryupblkqucxkgzwqlxyvsaeoobqwjlxbwgazpntfatznnnfchgfpaoceiimhqyupdwlzgmhqlpbwejluqemydarebpqlymtyfauspraqhvfzmeshiwtzreerkcvqqbdwusfmudlzvdzfbemowajosufdfgtasaipcfcjngcobrgnxvcnjqgqacycjlfrwnvjxppuumxwzlvedgcbkoszmfnnrqsvttytzekpotfvxvoberorbupcxdwkjyuxfiqwvncokjasewdwrxtpmiyxvijnlflivmchdoidxfosymbtetuyhmvlchhkikhxcfbwllwvhbltkknyaxdosdcjiynnipxghgodzkeuoaxdypnasgjxfxjptyoeewronygblrlekejwyorrwpspvdhxslhhmyctaratcpkccazcquhmutjqxwhtqmlvnzhdtpexwinfcrolwmbabbzntqsibxqgobmkrfdckhnlbcfxrxuretthufpvjchfoqgfuchcoeojxruynfuwsqbxhxbflbmildtaxruizonafdahtmpjaasndzjvkaxphbablxszmphxssueaghsbednwygfijenhwobumpxvjrykocpccsstevtsphzuridpfyouqktnweystkllrfvgibrdvnuaegjehmvpejxyynvvnchaeivqhztdfynwxstmaqlrabwmpbtoasrusufnoyalyxatixszbnkqtyfdwumvoqcgzoyynpaamhawidezxdflyfusmsmxuxmkzzncxewjpphsxjewmhoqdxduobrisjhyrgcdpdkznekcxpfpjnbtxmbzjucdqszvqroafipomdelfhspomrllocengviscgmtcyqigaxeoxavnopemypjqppxcmawxpoxxifjrdiwlxxvcpoeuwdylpinbmbbyytacviirujccibqnixivliglcbikxrbblvtekpuakotzcuiojpjponjyknmhtebsggxxjzlgbauouxlqeukaueoijqgyvgckqcxztcrpsitfkpfnuqtntfxylrddpfnikrcmafxzuwfkyliwkfkhrfvcubkrlrgzobiavivetnxlyxkvpjlhtvhkrgxfooitwabmriblsdfehyvjptmxhrkgykjjqjhvyzwyzmpdhibtrqlnzjfistmvhqrmgwdaybnaidnpwsevioruknsjatrhyfjjjsflfzdogpzysnxzwmlzbwrbjouoblolxdidgrnwyaepkuyufabhouknccysklmrkczuswctcfyinxeituqlpgksdmpyttvxnkjietsyqoiiyxhzhjlqruzemypxyugirahzgvjiufeuzobczuknexclqlqbvderqxmdwxnkqxpjklbfiteetllggbicqdbscgqxixkttgrogltdlclduskmfljadhlcdencmoejyaumeoklvcriitkgblwmitjdnbgjmhiusrxwlksnpmgyeijvmyouiejwtgrsihuundyolqbrwhkhphvelwdkjzfprgogpaosnhpibdbqryjtebcnnhizfidlkeautegtefycnvsvpjipurksejomjynqymfmpyvgydepumpvtymqjhqdjqvgrbwqrcbkmmtwtxmevdupdmxydysiwchikorxhzrzqlyqekbfgrxthkixrqidxdfusyqsagapkkprrdruomlqjfjykcxfmjzfnurvhxriprevdkoaogddtzoopkbrmabcgufywxsodvyxmgkrqysjpoyewhoydhbilsuctvgcgcfgykzwbebbrswcwusgxzpajifiwkxwcvgvwcbeuumfxavgtljnhgkshefdwqdfmshscjltckbwwgrpqjfibkemtchckmejexcpjpimhgybhjopafbqrkbwctjoiugpmaqbwyyuhpzueiumkdlhpocbxmfaawzwevdmvjqiyoarxjbtmoltwdeyzaofnjcakrnrszoiriqhljoxoycjnltmqpdklnhaitiuzsvkfjzevsfytaznxhifctrvvapyqluzcyxtxyskfnokccuurficpjgrnsvljwjcwxdxqphnbhyatwccwzvtomucgplfxhileibbwbuidbngdochkydnmkqcwsdbbyinhvfvbvlzpvsakqbptibbainzrjnntenlpgcrgrtvpptopazfeqffamvgkqazidxizwbvrajzyadzqnkuughddwbutgivviwyfqveacwqpwlzwtdoxpftrwvjlvkghdpqxnvmzjchtqymnswdrmopdnnsgqhexcimjfiozdarpezzdnqocdfsqqbtputxbshraiyleyjxiksbwaiklwjirfagpqwplpxbtwwvwwswyomtmbsmgbfqcjpkgmyotbcmbgkhyjvjzuvqqvmjjigojauvvdqxmvkfemaisriyxuzhrpagmhqqikprqouqvrsmnvwrixpczrlxqbjaplosnwwcuxdqlmimknalpimcdiypmyzallzraoquohgfinusqpinpxlaugzudlfselipnaacjueahwsyhwaizevhbzzdacxacvkpzsnfstjpfgdmixwtvzdrumnqxfrykkzmmdffkijkfincqhazapzwbkqbzagurvephgzqrfiklbivnvckduipfbxveceendedylzxzlacpxjkgeyfyyyoezrimmfwtawvtfqunxhribvqsdeioexmddskbocuoyfixtjgiwhncjepfmrzzjnmujxqvmawzgxiwrcodotyflqjngpnnxwamoysnlwvjkoziqtvlsexxnvbslntoztrrsndrsoygnsxfxfsaueeiuyyihhpkxqaippvdtjfxtrlbndeiedbmxkoqdtufuojyowfnvhpsxpbmszyduyllryxfckzwhmsqlxthlktccexyvbwjxdxtowkoauwooxepnxqzquodzvbuzlwwduagvcpmbuztzhvxudheyiiohbskvuttieejwoyrbwbdp"],
        ["zuxvzlbqqnxtybmvzvlyddpbjzcybqbjcvayzzybiaulgxljgdowrzqonzcwnnndedxwcmuynfpzdbvzmncsqvavvbdh", "azmcibomfyttfjistwgipmwywejctzayolydjzjpvatcrqnftfljfrdmrsnfehqveksnbdvhvuwkrjhymrxppknuwtxvyvaycfbqhmmwhrhbozodjxbmlwhcjomlvbfttwkmivjhzytsqjaqndwzjibdqsocltgclrefpyyvrpazlyptchkeahzfoicpoxdzxkfflvulrgstevcgijxgybgrllmzsckhrzktqxpsrxfugvkcctflfdvvappnxzgbgmexvjjkqsxgeyzexqajjbcjfxyhquaedzunkwakxfunqsyixgfecsexrtrqfgtswylwrdgcgeonlmbdscmseomtzzkhxxnuoblbkrujugtoibernphnodifggdjnerdcmwevjompjchwtlsrhazaktrpfhtmbineroncfijgfzswtaxyilyfnpapopzbioznnypmqpezqplitbhjoopecdugtcwymeeuraimdhojcseemtdxgdmtodawkoroiomkdszncwwipkowanmmdphwwggtkouckupeaqfyuhcumxtvpgyagcjbpfrrgvjlnrmfknuzuzrjratxweklnsckknloujdcmrzxgnkwtcpgfkjjtkawsbccjueptdhszzqvukisfghxirkzvgoudolvbvdhitvlbrrgomyhcqpgjlgmcjvomqwscuwwjvwbvmmwyifvdccvqachfjteoltsoeogcxdkaoncydvcoijsxqkhbegyhaxthsfycszgwtwfwjbufronmniexhntjxvgthvppmtszyfhzvrzoivhxgcqhtxqnffelieiowtfbxhbhzvqzgymnphtxisjjanmtzkphytbangjwanuefisftmahurfwlziruzvhogddcgiclrkvlzvfimtrlphpemdvqgojactgjskachgjximgmtbgnwccuymqydgocoqajcegratvyumrebkumfsvvpenjqzrburwhmulznwdytzkihiuwhmwxvlophudztkzpyqtcismwnyjvawfkgrmbjimsqimqubtegxueevwutaghvzybfnmueljxfswkfjrkfitrczjytjhwcpcvubbgmpktyzflcksijsbtjrzdryiajodnbgtiojakrlwibtbsozipjviqbmveeyuzxlbbstxfezsnqwjrwyoucqhxowqueuyvztuwarkhnyotpsrrvexxmebkmsnypxqaouhjlggsvrsxfbyfhtbkkxmlewfwwaxjcfaphdkntvljcttpdegilfxhwrsoedzbfnchzelneemnjgtfhyxhynwxejxfdcuboovunbwpepytffhijdlytbtrtqshrzlsdapmzxljyshtnfxpiqvfzlxjwfpyimzpbuvhfnotjuuuwaglcvxeywjelawwmdisfaephvylyufzvgnvapqkrchylguedwelrmklryjxmmijokofyhazlafnbjojbnwdgubwumoaoumlpfsnqhhmaklizbvcaruozcfclmzfixnjkfyjuoscuvwtjcizkgdooxauhjjvkexytdwxgbxvptqgzrlryaqeehslcdfkhxsfpvidvzwirebuajmvoxspkbwkcoovuyxrntymgmpwoozddrjqlhvwaeigmbcdbzrxjtcfcwgqwjdprynqmonshgtuodhakwtbllqbhzutjsqakeqdfcpzjvbicfsizxrkvzroaebmrqlhwedufsnpzfswlgqwcpdfvacekybbtpeongdahctdwsmblhoqowhqocvglyujzxfurzfwcegfvrdwagaqetiizjjoqvlaqcgpeskzeuhpiqidaflwbkcrczjszrsioonphwuidyhjfmdwmssuytvcouxldrfgbayivmptouycdiueaimwgafmyntdnmxbrgdalxbijcpstszdaofaisraeosekoghtdiudfjhqchnywjewyqfsqxyqsbvxzqizyszpvfjgaovfszptfbyoylpdptcczuhsvuqkxsiemvsrqhpbglndmtpoecmnlczrorcksripcswikwuowuqrywuuoctvhnjwweavqrigwcmiddjccmqzwdptidvstozzrecyzstjgteexqssyxciukgoasunpjdfqxifjkggwleqlivgvveclazjyeuhchgunlnvtkyvzczdvketlxebkqenvlplrrecbntxdbwdydqcofjbalfeodzfoyfkjfteqxfgjmiehxmtclfyeuuvxraquzbnmwmojdthhcabjckpeydejezekgiaqjtchebpggrbjufwekmujdkrxctgdqxtdijlmaadngbsqdpyanpgopazsecgudkpptrfdtubxjkhaiwexbdktuwmwfmyuccvgkkkhzsupofmktccynjdjbamrlysbxowkgicbmfikuekrkoglmvfwsctmibdikdzbtgmfowcjxcynzgdstziufkwroccaaczfekkinipppkoobkirnrgdwodtanqnrucmfbhhpjnuggaemyckkdlahtqifzjqtdgpfjokvnqcflpxquloooztelwhfwqympedxgubmiqgplygyufwdwwybxboqwxbiizgvdxhiigeemrjywaqubwvlxelwisvsrsrqgrimkfedsllsxhtbibeikypwxswxnbjhxjbuqbqtybnunaiwwfptsavfdxczfkitqncmvyxxzctnekfmsvpjlozgicsahdnfljayijybmzpadeozoqsacecmrmhidmsnerkqhoenehntfvhekozxqryikydpzxtosjdvmvfsvepnlbmisqlszpbojxxftwxgqumqfuztqboofmdnmyaczwjnndgfvlpaywvaxaqqwiclhzmgigozttswqpymipuiaewpalpnfoftzncmhqgvczeqecoyfzastcwdodcqtjflfrvrkysrvhaunyjlgszehjiwmuannnprrdcfxhyrfqahoirxiowpkdilevbsyyethzpdexllymfjatufwfadhgovmnbtvrdwlqdtowjuvdsnbwoiswykczjfzcgyzukhnnnjpskhwfnbkyzwbgzdgjouipvelixhrbzmforqoibiyqhygaoaalsfhvifzxovakcwxywiwvcgvujrmpmkdldzfoevedioqdwealrsksgohykbtykxwbhydvddxyqhvsixxxriaooolmwqnwdofiqueyrdnfsgmiwtfrewoarxqsqttdmbqlsebbzcuckcavbyuebdxpwbwhgdkvnoxbwhiolkbizhsbefbahydhzzrzbwvivxhuamtfhmfwxwdfltokwtbzeofoowehsepwfqiyjbywluftemjbcqifjbyluoypkmopkylhtvebqsmqbklwzyldxwuylzyfwfdrqfjyfxregokpjuicdgcuevvllgbkjflosibxslidudgtwrzznsqyxsovxebdafxpjrlmvhbbybocfvsbzwhfrujsjuopfmwbykqdxpowfqsekbpaojksaietlnqebxxlmkcmxtrilzwdadbxstjyvbfaufysfhvcgwxxdhqqautjyrofvytlqjlifaedityquerbhkyikmxeqegvmhtudizonynjkwwgalscrwwjmlimsgumdxvqgkkmfyargnnvcqwrdvefuozazoimpofxijnwxeckmtlgsdccadbqokhqhokziauyaznafewprtaebwvdajjuhoietvecswmyofxcskxpiqrdtejsvjkmeowiwqrtascobjkxmhdcqgqpqrfgxvnuexvscdhvornqvlxtggtjmljxznpgmjaxjnxiikefgarvbuhkrhaeiwbvvcxmgktmdqpmsgzarhqbedytljvldetzkytkogdnfxkbdapfzgsnmopvsepgnxbjbvgibnosvtkprdkuhzurbfaryinwtqszjrotxjwobfyinooqmprznneyntqpibavlpshylxjfuhstydepjhgdrlekogaianycixhmvwdfpsypeozbuxudpibbgtmmdotimeytnqmzpelcqnpexdmywegflgutyujgrvnszfprpjxxhnyedafqqfrkyftiqwkodqwnfpgtzrkebncohthifsajpxthrcbqbvbiqarnujvbjdztwrszvdojzqrxwkdjxxjzvbsnchgdwabigmepxzelgqujktgpykwyfkyemtnlfrvkxjedipdvjnzdtgkylzwqpaskejhxtyrktjwwmeuenqmhxjagkxbrmpwqsjndgobjsafzxwrydiajabfowrcdgybmvuosysfrilympbqrgwgdzwjfxwdqdbpdkbzxqikdbztgbrmphaeujmjrbfvwxaxabllntmdgqidjnqfqyojpxcxtmcfljwobzsgfsrrzfeqrzlzppjvyhrarqgmrwqqvtkqxxucfrpyeledveeaepppjrrxtqusbznrhapmhdtuweifofghketszmlxnzilxjhpqawjnnjlsvajqqtmaowhffigruyyhlnfbefcizoxigjqpmbejinbqcasbieaeofxfhmlyhatqvkuodmhclmrqqnpkygporutazsyupgocbzmwmwtyqicltpuysvwortlrncubkzolxigenatctuagrvroipnhecgrtdirhmtflkrskbqyrevrmdcxdpxlpzjxclunqeuedfbdbfrgjcnsyjsfllcpucazdogijiizfcaqwzkobugilijlmknbjrznioxxjupdrqrwbgfxhjlufsfefirnwuwjwtvrcfwtyphkkiigpgdcyddmvkyuwdylipxukgzytmppoqvdjaunaqeijtjjwdsioeeegybjmsjhkwvrymsretdakttbahyxiqpamshqqjzygkmdzgselvqmdxvuzurasvbnghyyjyvdbhisnbgqdwwjlslysqmnrdkhaqvboxsjghhzjvkpelvozuf"],
        ["quwvyxvqpmvhyxevmpvckyqmpgibegvyulrkaauyppbqmrnbgqpaxwpbfrqveyfpnrmckppzoqdmnpyfgkwqoxrmgusvhpmbvrooicbigvvrzqlakpyqguvimmmylgtpbsnnbzwymphomgporqvqkuyylpbbkqo", "vdhjhtdlkozdmhfdzdbdfkwzfrqyqhbacvdkcutwamexulmvcwdqisomhzfkqnhclqwzeovaoqttlzhmbpqljndslclnsxzoscmrnruuhrzcbecgmggfctuadbqamufsarfwhzhwcclhtndglwbldcnaoklvqapxndinmtvkjkwrkehjitwbbkxpsgqcmsryfvvbocapzbvqehrcquskzwlhfysehtvpuxrzhmvrszjaoitezhmpxwsivagtnfqimvhakagawefrcqyzxlsdsjvflaarjaxbmafrndaogrbknpdkltwsgwcpccwivhjwoocmodsehfwrkyovhwsvvkzaptshesmessfcdopshcbynjcdzkfenokrxoovrdlnazizhakrusgqnwfbvxbrveibeysdudvrzfxhfrehxuxrydlcbyoqtxbwkixognmeijazbnoyimewylqssnvrlqjobeuwnvtuvxnfqkqpfpxjzfvggrbbgibnfbgqcgdxitanuqcjlcbikeesnvjrhytxefmeverdkiufbkhtqhgzdgbtgbetywxtaetashbfrmzoljnqtbtgqsfsialcuoanjjfmotarilfayyyvdmwazahqdbuemfurwjanjylnvjnxikblyykgfyhctweqwlfclfnytxoslscqpxfopnmrtywtdchjdocbukbvozfypwyxiqdezjshkzruphojphacgasmxeftepbqhqhqsvhfrzuxxootyqjhiydxiuihtvdqkxkpfszfbdckiqgjwdxxefkzguyfcnvqaszefslgdozdudshxtkbzevlegkhakrjfzvdcurdtzjljfvwbzjpcpebmacygzxmqlzkgurfuzjvutlkmchgmktuycdrdfxnrkgxkvgilohlotbbrpmklxpomnbxewqomqkdvqyjuftdlooqpldgnwupzlueoydoiurlzxidhqsdkhhjmkbmvlquyzslrnffkxlciqvudiwvjlpmckfalqtajvdoxqkwwuggtynmxzrhpwokpqbxeebcovdqcgyhdueyiymqqcxldeicxcfhchufdukxcmthnxzrrtluyazwdklqgieelxrxduljeimtrhwnrtfvdfkndhgkweagrxdepabtxuuuvhmmujjqowgushznziumioaugfrxnwtkvxxrbzhkbijzkbmavwzwytihhrhdpbfafpoctadwoyhqecezpvnghxpsdcjfaatmkekbylrwsxifyemxexjhwyxfivfpyoqrqfqeohucwvsttbrverujuzikzbkpgtyltepqnqxgauqxnadghdbuolmiyvblapkonafcomzpdzbiyefbsxlmzholtcqpgllobqsyxjedtibiysyerkyqliohwqykudlvtzgffsuzoaiescrvntnqrcghnjznbtgixdogzwtkkeyiwayaslgsttsrwfuxywvqosnezbehzzuuobqpkfdwaifqqggryhwvjhppdlwdxijvgyjkjlcxveibvrlvrgfynrcjzjmgsvqtxnjnpnljukbfszuqqesgsjbefzyyhmmomwgokrchiajagxjjlujnzoitubjmajyauelncuqbpzifqanhrxbcwcdrpmyhfaizextwecejsibwraoznqtdrvmvjxftvremwobsvwgmrhdtvqjtzrelgiffpwkogjbtzooybbjfpkxlkdtypnlxalxfsiqickgpqbqlukpnmzopnywykujshbeoufjkwmymfqshobzbvnmxituzsflukpkcgrjelzmloxoibtfmnjbjlyvmcmcgpwvhcnybsppmornydytbhxbqaafpdhhhgvkkafcngltmgdxywymtthduspdsoiwgrebikvmtyhfgvyrynfzcvyoihskwbvdqmtsknqnezpocyhmzhexumarqhvhzytedtnfclhuopndlwyzehdhhlzjaueuwrjrbavjuhpsaiwzdtjlbqhhxbtvdjbwydimjsgpvifxtyejargvatmnzmwnbulrygnkrrvskulgiephozuotusphmcbqhgyowubjpiqdnohsnhweuavuhwzpesovnkpstbwpldvliyxqtaqbzxzjagymddsqujxovrzzdtibmsitqoprzmugnnplkdhvlojirkzlmhhzrpzhjmdpcqpqdwnwuotksagrdbzxgjlysdirjlnwmpucjczarjgndhwjgmmnpyehzffuzninnjpunoiohusckirbbrvbwgyqdsfxnbnqfpuhlygcdxteqivospmupljyrforttedezdfcitqbnrmfmubrgtkhxuzqboswnrxaseeojjtgbmqjhqqudhhzqdglhchlqluqswpqdshwmohbntqciryzkzfprxzvggxztezpklgtdodxlezdseyabkqdvvqizgwhlemfknextbijrnbxgfnonnutztbjbxlibrrejczsukfnkgpgfcmoituufaeudmcnppjqzyalukkmydxyaaufaegsysvnpxtttgwdkxyzdfsmcxexczifvnoldnztmnikkaqbjujfrazikqcjcxsnezqvznlrxxtgprrqrypzmyngvrlkwoiprwmzbzrtqryfxwrslhdduvwlsohqkizdvhxlnlouztdfpqyoiszpljnjaimbimdavtavmkaqhjqnqsketahwyvicflgbjsiqtxuzcpjjznwotdyfxywrsgxlubrodhvrfdxfzkezfgmegiqtwnygvlwaoahsjegrqzekfksmzeqjrrbycrnmpettgqzdavaixodkmrpqnlglohymiyduwegxbqqreockogatvhvnwpyqryugihqaspfjhvpcnmlnpsbfqfhhdqdzvnzouzazhedpgzgciwoxqqwqwegnkbfkhanekyklxuknqollvmahidbjebxqwvygqaofxvvgvzazqqqlkblelmcoqwycemoqliywrchioznfosycfldocpoktvgbziybmrfxljxcicbooldbhzezlpdikodwcmsqmrdyswejrwpymqjpelxhqanayicdckawtwwzxlgzxccdbichkjeahaldhlyuluytartmtqcjmxdehvsvwhsivtwhbfrdxukrnikzenzyyzfmqhtkgwiukvoyhgjjdjpfhhvywiopgjznujjldpvpgkqguwugorknprhduvucvtmxhgkvkevlyigjaoojiodgnmimkhgeoqdvgjrokswjjvswetfrgbroyrwqxntojygwevfskmiusoszcfpbasxlleimlgeyprobxowhlkgkkusxfouwphzpzzsdrsosyrlltpzaixdwncapuujsqkjizeduncjymrfjjtgatcidaceicmhwlftjevtaajtezmfuaooawdliazbjntrsgrgxpzqzgfvgzkabieahppxjvsekzpjjucqkrllkhcxiayoajiyisovcektwvnytqntcneahiwwahtfrnntbnwccmfyfkenckdnotxzfiszxfgzqhoadtikwnlobaebdhuemanwimdskhszqithgehleqoijcnkvruhlqzbsyoyabwtvavzvquwzammhajgbqysxiimxzpmcisrdxlvmzyaocegzadsqheodsaptrmoctzntcnbbljkhwmaoyezjwdpdgrviyeejhinzmogwtcjzdjpmxcjtjasutxtyanwnivsuqlhyxeyaxbrmfeyhnqloncsvdeununumttlkkvtqxnwyobgaiatxrkcwjwtfvciwxuozqqdwvxyrnrrmgfqqzubmibqtgvoykwenxmcbocamryxuocuzinktfqudxqwyilynngkomwehfglytweqmzszkkmutctkdwtstkflexmmodrohjbnzpsdnesuhuqzgtynmxkyhmifxzdrozodnofgjzaanldvzocyhhcatcykcsacmbyctmbqcdzfavvnohzbxggwobpeqzmjqhijkjlgspvtfubzotiyqziskrodaloamldzsxkbewmrvrppgeliztqkuphvlrqkchlhjyentxnoonglqlcrwovhtwagiwvhfwhrnemfzvmbscuxzyiesonmhyoruhctolmeousjoentspcqnlipirxtfljvxhglxcfjmltvljdoieyuuhagfzbnfgcttpgtqmkzccnxaleyajzjbhfmkulqhusfohvgujmnutnoftswwfhdhwwbudaohrmkgufdnlsashvvhsjumiovehnrgeuikbtbouroiemlcgjkqqfzeewuegjbeocvsvtpzesayoiqnngrbhdhmriadziirgdukbkrarxbuvgmodqmdoubiuxqzzgccfnbecgywwzhrebidfdzfcqqssycaiprhkiiuckysfvvumsgetgxmmiqnjxmnhlidpxtajenvunhypnrbuxfbzaepsbgdcdnfmxchjotcztmetaimurwdtwhuokscqqpxqfdxuylbgtmxcnhpgtsaveezcpzdtdnvjwdjclvjmcazvxvuaolewnncwkrfijmjgliohtanxybjutkkjlefszbasvikfjsjwzuibdobgzekhlwkxatwtepulmosfaivdlsgzogoiwyzcvfqdrrvsomqxhbjhgutyhsvfopyscdoyzvycccobszmmiotogmwrtquqpdxuhxccxuhrysxymvfxdfzbswrefajrmezjeefgxkwcmvrulijtcuxckvoojiecfupzrzdzwjumuovfklxfgujgctvpnlvscaprckeacnqjcwwqnuuiirinsepqdbafcyrzjihddrfbcktanqpdcuruuytbhncbjzdkbfnvcgrkjzfnookmpbfhhggolmcfczsitlxlbfmcguaygfsfsppzjqkcvtdiznhojpflesvqvyiqmmdcgqabfxwxcjfnbnztmoqlybwvtuiouikqjbfmfocxnugtzrivsjorylemsrjhplmnxlyqfupomzlrlvwjtimqhjwauweyubulypgcbbwfdouqcuebdtirkyoycwlsnsdgvwhcellnootcvalafeovkkycbsllszykrukblfkdturqjzwmyhggwypfhsddbipjxybdjmkfkwmbqkjbdcawivhtgwhdlippxanwoyvvvmridpfjnjjaslrfpivzylyimzqezanaxvxmwwvkonbruwzpecjbepnixskrzqcyhmhuetyxkffegvxncszizewugogcrcjvuccywdlczrgcnaiyihmvgldgucyfaojjdwaimsslunrhqfyiskqpfdmnoxazdsgacanlvlutdvddisfkougvrbrcqawwfbwfwlwzhupwofojjmdhtykwzapqarpfergmitjdsjhsegzctkdeilvocqexxjvzplnzfmdyhmxozkqtesujwqijnnvmllzwmtjephrjttfaddlzlxjcsaagvboshhvulqeibfpmbpofdhxcuzufkogubsttuakhqdlqdsiifnpymttmkukflzokmgenhosdvfdjnpgvspuphrbcwgmcjsssbqixvsgaxxdochypxffhhglohtojrhrswzjblldzhmdhrmwydqkdeonytrqvxdxgmxtcuokarfmuhassmeqmkexavcqbvdsiawggxjwlirfmsoqqfecopjfbtapdudegeoowpmqlibkvytdxspyklgwnkqggapfqsuoidyyvsrprxcdysjooyanbdqvtqsnvndzqpgenrqkwgxxhzxhnhocppmjbxlejyxyjamodtybhhexhbvttbjdwftcwsfiirrzmiqnbohhlahlktukqzzxiflmxwfptqyxhppgcbpthyhwrhqcrycsxkzmlhximnvdleajsfkbvqbaiqulitaaipkpwvfwooatxwfrmxogmpbjllqkhjvedrsocafmbbqxitszcttwkfgcmnoxnpxamktqrivvgkzbgaqaqhwukoqppfephouxbkbpmkbmelhqummpypvvymxpdpcrylacygnvpzyrkpxfbwuronqiunoliympbpklvbpvrsbokywrrmugpqopgpmmgfpvvvbomqvyqzrbyqgcvyvxaymqnnyqwqemgsmigpwfjuv"],
    ],
    [
        true, false, true, true, false, true, false, true, false, true, false, true, false, true, false, true,
    ]
]
for (let i in actualParam) Test.assertEquals(checkInclusion(...actualParam[i]), expectedParam[i])
相关推荐
恋猫de小郭3 小时前
Genkit Dart 1.0 发布,Flutter 原生的 AI Agent 终于完整了
android·前端·flutter
FPGA信号处理3 小时前
【凸优化】第一节课(下):保凸运算、分离超平面与 Farkas 引理
人工智能·算法·机器学习
思码梁田3 小时前
CSS transform 转换详解:translate、rotate、scale、skew 与 3D 变换一次讲清
前端·css·transform·skew·scale·translate·rotate
第10086个小白3 小时前
flutter桌面端打包方式(Inno Setup Compiler)版本
前端·flutter
怕浪猫4 小时前
Agent 的记忆系统怎么设计?面试官想听的是这个
算法·面试·github
C++ 老炮儿的技术栈4 小时前
C++ const 的3个核心作用
服务器·c语言·c++·算法·c
派小心.4 小时前
多端数据分析平台的漏斗可以跨端搭建吗?5 步搭出跨端转化漏斗
大数据·运维·服务器·前端·数据分析
有毒的教程4 小时前
Dev-C++ 避免爆栈(Stack Overflow)完整方案
c++·算法·深度优先
IT_陈寒4 小时前
为什么我的React组件一直在意外重渲染?
前端·人工智能·后端
Su米苏4 小时前
基于 Token 预算的上下文压缩控制器(Context Compaction Controller)
前端·数据库·人工智能