java – Bit Strings:检查一个bitstring是否是另一个的子集
发布时间:2020-12-15 00:52:43 所属栏目:Java 来源:网络整理
导读:我将这组英文字母表示为26位位串.第一位对应’a’,设置位对应’b’,依此类推. 从而, 字符串ab表示为11000000000000000000000000 现在,给定两个位串,我想检查位串1是否是位串2的子集.也就是说,在所有位置,位串1都有一个’1′,位串2也应该有一个’1′.这意味着
我将这组英文字母表示为26位位串.第一位对应’a’,设置位对应’b’,依此类推.
从而, 字符串ab表示为11000000000000000000000000 现在,给定两个位串,我想检查位串1是否是位串2的子集.也就是说,在所有位置,位串1都有一个’1′,位串2也应该有一个’1′.这意味着string1中的所有字符也存在于string2中.有人可以告诉我最好的方法吗? 我知道一个简单的方法如下:迭代位string1并检查位string2中的相应位.但是,我想知道是否可以以更有效的方式使用一些位运算符来完成 解决方法
如果您确实只使用了26位,则可以使用整数(32位)来表示位集,并使用
bitwise AND(&)运算符来获取两组中的
intersection.
如果& b == a,a是b的子集 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |