栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

说明使用位向量确定所有字符是否唯一

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

说明使用位向量确定所有字符是否唯一

intchecker
在这里用作位存储。整数值中的每个位都可以视为一个标志,因此最终
int
是一个位数组(标志)。代码中的每一位都说明是否在字符串中找到带有位索引的字符。您可以出于相同的原因而不是使用位向量
int
。它们之间有两个区别:

  • 大小

    int
    具有固定大小,通常为4个字节,这意味着8 * 4 = 32位(标志)。位向量通常可以具有不同的大小,或者应在构造函数中指定大小。

  • API 。使用位向量,您将更容易阅读代码,可能是这样的:

vector.SetFlag(4, true); // set flag at index 4 as true

因为

int
您将具有较低级别的位逻辑代码:

checker |= (1 << 5); // set flag at index 5 to true

也可能

int
会快一点,因为带位的操作级别很低,可以按原样由CPU执行。BitVector允许编写更少的加密代码,而它可以存储更多的标志。

供将来参考:位向量也称为bitSet或bitArray。这是针对不同语言/平台的此数据结构的一些链接:

  • CPP:位集
  • Java:BitSet
  • C#:BitVector32和BitArray


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495856.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号