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

慕课联盟网站开发实战/南宁今日头条最新消息

慕课联盟网站开发实战,南宁今日头条最新消息,可以做翻译兼职的网站,罗阳网站建设这是来自腾讯2014年软件开发笔试题: A,B两个整数集合,设计一个算法求他们的交集,尽可能的高效。 一、第一种算法,暴力求解,直接采用遍历或者枚举的方法,这种办法最简单易想,但是时间…
这是来自腾讯2014年软件开发笔试题: AB两个整数集合,设计一个算法求他们的交集,尽可能的高效。

一、第一种算法,暴力求解,直接采用遍历或者枚举的方法,这种办法最简单易想,但是时间复杂度比较高,为
O(n^2),这是最复杂的情况。

二、
预处理。其实思想和C语言中的预处理一样,对数据记性归一化处理。说白了,就是对数组先进行排序。数组排序的算法时间复杂度最低是O(nlogn),数量级已经低于第一种算法的时间复杂度。
   例如已经排序好的两个数组A,B,使用下列伪代码进行判断交集:
int Find()
{
    result=i=j=0;
    while(i
    {
        if(a[i]
            i++;
        else if(a[i]>b[j])
            j++
        else
            result++;
    }
        return result;
}
时间复杂度为O(n),综合排序的时间复杂度则整体复杂度为:O(nlogn)

三、计数排序。也就是把两个数组A和B都遍历到一个新的数组里,然后在统计重复的数字即可,这个时间复杂度就是O(n)。当然,计数排序是有条件的,也就是要求数组内数字的范围是已知并且不是很大,否则使用这种办法得不偿失。

四、根据算法三应该大家能够想到用哈希函数或者哈希表来解决问题。也就是将数组A哈希到哈希表中,然后继续将数组B哈希到哈希表中,如果发生哈希碰撞则统计加1,最后可以得出数组的交集。时间复杂度也就是哈希所有元素的复杂度O(n)。

http://www.jmfq.cn/news/4942171.html

相关文章:

  • 小程序定制公司哪里有/河南关键词优化搜索
  • 企业做网站服务费/网上有卖网站链接的吗
  • 美食网站怎么做/深圳网站建设开发公司
  • 长沙小学网站建设/产品推广计划怎么写
  • 网站栏目页优化/百度联系电话
  • 江西住房与城乡建设厅网站/一个产品的市场营销策划方案
  • 有什么网站可以做商品展示的吗/靠谱的seo收费
  • 旅游网站排名前5位的/奶茶店推广软文500字
  • 上饶专业做网站建设/百度下载安装到手机
  • 网站跳转怎么做360/发稿软文公司
  • 网站开发毕业论文提纲/沈阳线上教学
  • 怎么做电影网站教程/网络推广中心
  • 做企业商城网站/临沂做网站推广的公司
  • 怎么做网站凡科/万词霸屏百度推广seo
  • b2b外贸建站/网店代运营商
  • 关于做网站的英语对话/收录优美的图片app
  • 做网站的难题/百度 站长工具
  • 福州自助建站/关键词汇总
  • 建设网站域名有了还要什么/深圳网站建设方案
  • 小蓝鸟加速器/宁波seo服务
  • 网站建设合同英文版/正规电商培训班
  • 网站导航条怎么做/百度快照是什么意思?
  • 邢台做网站优化哪儿好/搜索引擎关键词优化技巧
  • 做网站开发前景如何/yahoo搜索引擎提交入口
  • 企业网站建设大概多少钱/网络营销常用的工具有哪些
  • 网站百度快照更新/刷关键词怎么刷
  • 大连网络科技有限公司/企业网站seo哪里好
  • 星沙做网站/山东疫情最新情况
  • 用织梦做网站需不需授权/产品市场调研怎么做
  • 做外贸经常用的网站/鞍山seo外包