当前位置: 首页 > news >正文

网站建设的主要技术路线产品营销文案

网站建设的主要技术路线,产品营销文案,网页视频提取在线工具,微信小程序怎么制作游戏1.用4KB内存寻找重复元素 题目:给定一个数组,包含从1到N的整数,N最大为32000,数组可能还有重复值,且N的取值不定,若只有4KB的内存可用,该如何打印数组中所有重复元素。 分析: 本身是…

1.用4KB内存寻找重复元素

题目:给定一个数组,包含从1到N的整数,N最大为32000,数组可能还有重复值,且N的取值不定,若只有4KB的内存可用,该如何打印数组中所有重复元素。

分析:

        本身是一道海量数据问题的热身题,如果去掉“只有4KB”的要求,我们可以先创建一个大小为N的数组,然后将这些数据放进来,但是这里数组最大为32KB,而题目有4KB的内存限制,我们就必须先确定该如何存放这个数组。

        如果只有4KB的空间,那么只能寻址`8*4*2^10`个比特,这个值比32000要大的,因此我们可以创建32000比特的位向量(比特数组),其中一个比特位置就代表一个整数。

        利用这个位向量,就可以遍历访问整个数组。如果发现数组元素是v,那么就将位置为v的设置为1,碰到重复元素,就输出一下。

        创建一个长度为32000的数组,每个位置存储0或者1,因为要存的最大值可能是32000,所以我们可以要存多大的数,就在对应的位置0换成1即可,比如存1,数组第1位就是1,索引是0,其余位置是0。存100数组第100位就是1,索引是99,其余位置是0。存10000数组第9999位是1,其余位置是0。如果在存某个数的时候发现这个位置是1,那么这值就重复,将这个值输出。

int是32位,占空间4B,1B=8bit,所以4kb空间就有超过4000*8个bit,所以数组长度是32000>>5,每个位置可以代表32个bit位,

代码示例

   public void checkDuplicates(int[] array) {BitSet bs = new BitSet(320000);for (int i = 0; i < array.length; i++) {int num = array[i];int num0 = num - 1;if (bs.get(num0)) {System.out.println(num);} else {bs.set(num0);}}}class BitSet {int[] bitset;public BitSet(int size) {this.bitset = new int[size >> 5];}boolean get(int pos) {int wordNumber = (pos >> 5);//除以32int bitNumber = (pos & 0x1F);//取余32return (bitset[wordNumber] & (1 << bitNumber)) != 0;}void set(int pos) {int wordNumber = (pos >> 5);//除以32int bitNumber = (pos & 0x1F);//取余32bitset[wordNumber] |= 1 << bitNumber;}}

http://www.yayakq.cn/news/345346/

相关文章:

  • 公司是做网站建设的怎么开票全国网站建设排名
  • 做网站哪个编辑器好用哪些是 joomla做的网站
  • 昆山专业做网站备案变更网站
  • 电脑公司网站源码茶叶网站的建设策划书
  • 什么是sem推广东莞关键词seo
  • 网站优化收费途牛旅游网
  • 邢台市做网站电话wordpress与php
  • 做海报素材的网站三亚百度推广公司电话
  • 许昌哪个网站做苗木响应式网站建设哪家公司好
  • 青田县建设局网站设计做的网站哪些好
  • 网站内链怎么删除广州网络公司哪家最好
  • 南京专门做网站网络搏彩网站做代理
  • 推荐几个网站图片网站网站建设图片大小
  • 网站建设包括什么建筑人才网 中级职称评审费用
  • 长沙快速建站模板wordpress 默认图片
  • 什么是垂直型网站互联网产品推广
  • 怎样办一个网站网站设计需要会什么
  • 网络公司除了做网站网站建设 项目文档
  • 网站做的和别人一样违法吗erp系统软件免费版
  • 渭南 网站建设云南省工程建设信息网站
  • 哈尔滨优惠的网站建设桂平做网站公司
  • 移动建站平台品牌网站建设的作用
  • 网站维护的页面株洲网站建设企业
  • 网站设计 三把火科技网页传奇大全
  • 网站关键词的分类旅游网站如何做推广
  • wordpress站内全文检索管理系统网站模板下载
  • html写手机网站农技推广
  • 院校网站建设域名服务器如何申请
  • 国外的一个大学生做的匿名社交网站当地建设厅网站
  • 电脑网站大全网络营销常用工具