\n\n
\n You may have seen the following meme text on Internet (click the text if you want to read its \"normal\" version):\n
\n\n Aoccdrnig to a rsceearh at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.\n
\n\n According to a research at Cambridge University, it doesn't matter in what order the letters in a word are, the only important thing is that the first and last letter be at the right place. The rest can be a total mess and you can still read it without problem. This is because the human mind does not read every letter by itself but the word as a whole.\n
\n\n Well, there are elements of truth in this. Here is a very interesting article from the real Cambridge University researcher, who is breaking down the meme and explain the phenomena.\n
\n\n Let's try to evaluate a level of jumbling. In this mission you are given two words - normal and jumbled version. If the jumbled one is not a version of a normal or rule is not followed, you function must return -1
. For the totally same looking words return 0
, of course. Otherwise, exclude first and last characters (they are not jumbled according to the rule) and return an average distance (rounded to 2 digits) between normal position of a character and its jumbled position.\n
\n If there are two or more same letters in a word, consider that the first appearance of a character in a normal version is equivalent to the first appearance of that character in a jumbled version etc. \n
\n\n Look at the example.\n
\n\n\n
\nInput: Two strings (str).\n
\n\nOutput: Float number (float). \n
\n\nExamples:\n
\nassert jumbled("vehicle", "vheclie") == 1.2\nassert jumbled("checkpoint", "cehkipont") == -1\nassert jumbled("doctor", "doctor") == 0\nassert jumbled("research", "rsceearh") == 1.67\n\n\n\n\n\n\n\n", "descriptionPartial": "