Easy and Simple Approach || Best way
class Solution:
    def maxProduct(self, words: List[str]) -> int:
        n=len(words)
        w1i,w2l=[0]*n,[0]*n
        for i in range(n):
            w=words[i]
            l=len(w)
            wi=0
            for  j in range(l):
                wi |= 1<<(ord(w[j])-ord('a'))
            w1i[i]=wi
            w2l[i]=l
        pr=0
        for i in range(n-1):
            for j in range(i+1,n):
                if ((w1i[i] & w1i[j])==0):
                    pr=max(pr,w2l[i]*w2l[j])
        return pr
Comments (0)