Saturday, February 26, 2022

Maximum Length Difference Python Codewars

Task:

You are given two arrays a1 and a2 of strings. Each string is composed with letters from a to z. Let x be any string in the first array and y be any string in the second array.

Find max(abs(length(x) − length(y)))

If a1 and/or a2 are empty return -1 in each language except in Haskell (F#) where you will return Nothing (None).

Example:
a1 = ["hoqq", "bbllkw", "oox", "ejjuyyy", "plmiis", "xxxzgpsssa", "xxwwkktt", "znnnnfqknaz", "qqquuhii", "dvvvwz"]
a2 = ["cccooommaaqqoxii", "gggqaffhhh", "tttoowwwmmww"]
mxdiflg(a1, a2) --> 13

Solution:


def mxdiflg(a1, a2):
    if a1 == [] or a2 == []:
        return -1
    x = len(min(a1, key=len))
    y = len(max(a2, key=len))
    result1 = abs(x-y)
    x = len(max(a1, key=len))
    y = len(min(a2, key=len))
    result2 = abs(y-x)
    return result1 if result1 >= result2 else result2
def mxdiflg(a1, a2):
    if a1 and a2:
        return max(
            len(max(a1, key=len)) - len(min(a2, key=len)),
            len(max(a2, key=len)) - len(min(a1, key=len)))
    return -1

a1 = ["hoqq", "bbllkw", "oox", "ejjuyyy", "plmiis", "xxxzgpsssa", "xxwwkktt", "znnnnfqknaz", "qqquuhii", "dvvvwz"]
a2 = ["cccooommaaqqoxii", "gggqaffhhh", "tttoowwwmmww"]
print(mxdiflg(a1,a2))

Training on Maximum Length Difference | Codewars



Related Posts


No comments :

Post a Comment