串联字符串的最大长度(位运算)

Posted 秦枫-_-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了串联字符串的最大长度(位运算)相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

class Solution {
    public int maxLength(List<String> arr) { 
     List<Integer> res=new ArrayList<>();
     res.add(0);
     int ans=0;
    for(int i=0;i<arr.size();i++){
        String s=arr.get(i);
        int cur=0;
        for(int j=0;j<s.length();j++){
        int ch=s.charAt(j)-'a';
        if((cur&1<<ch)==0)
        cur|=1<<ch;
        else{
            cur=0;
            break;
        }
        }
        if(cur==0)continue;
        int len=res.size();
        for(int j=0;j<len;j++){
            if((cur & res.get(j))==0){
                res.add(cur|res.get(j));
                ans=Math.max(ans,Integer.bitCount(cur|res.get(j)));
            }
        }
    }
    return ans;
    }
}

以上是关于串联字符串的最大长度(位运算)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 1239串联字符串的最大长度[递归 哈希压缩] HERODING的LeetCode之路

318. 最大单词长度乘积. 位运算

位运算计算位掩码再枚举——318. 最大单词长度乘积

2021/6/19 刷题笔记串联字符串的最大长度与回溯法

1239. 串联字符串的最大长度

[M暴搜] lc1239. 串联字符串的最大长度(dfs暴搜+状态压缩+二进制枚举+思维)