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

晋中网站公司中企动力百度百科

晋中网站公司,中企动力百度百科,wordpress+作品展,长春网站开发公司哪家好题目 两个有序数组,第一个有序数组m是1000w个元素,第二个有序数组n是1000个元素,求交集,需要考虑时间复杂度和空间复杂度。 解题思路 解法1:遍历小数组n,在m数组中进行折半查找,根据数组有序…

题目

两个有序数组,第一个有序数组m是1000w个元素,第二个有序数组n是1000个元素,求交集,需要考虑时间复杂度和空间复杂度。

解题思路

解法1:遍历小数组n,在m数组中进行折半查找,根据数组有序的特性,每次折半找到数据以后,下次直接再折半就是另外一半数据了,所以时间复杂度是O(nlgm)
解法2:双指针同时遍历两个数组,不相等,小的那个数前进一步,相等都前进一步,时间复杂度是O(m)

代码参考:

这里采用折半查找:

public static void main(String[] args) {int[] m = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};int[] n = new int[]{2, 5};List<Integer> results = Lists.newArrayList();int left = 0;int right = m.length - 1;for (int i = 0; i < n.length; i++) {while (left < right) {int mid = (right + left) / 2;if (n[i] == m[mid]) {results.add(n[i]);left = mid;right = m.length - 1;break;}if (n[i] > m[mid]) {left = mid;}if (n[i] < m[mid]) {right = mid;}}}System.out.println(results);}

思维拓展

遇到有序的数组解题思路,一般会用到折半和双指针的思想。
比如:[10,9,8,6,5,4,11,12,23] 这种两边大中间小的数据如何排序?思路就是用双指针从左右遍历,每次取一个最大的数。

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

相关文章:

  • 海南建设培训与执业中心网站网站流量怎么变现呢
  • 潍坊做网站的那家好购物商城网站建设公司
  • 怎样做农产品交易平台网站无锡百度推广代理商
  • 做初级会计实务题的网站网页制作与设计简称
  • 贵州省安顺市网站建设羽毛球赛事编排
  • 青岛网站建设代理加盟驻马店做网站的公司
  • 商丘企业网站服务网站技术如何策划
  • 四川有什么好的网站建设公司网站建设计划设计方案
  • 网站开发一次性费用网站开发工程师考试
  • 如何个网站做二维码专门做企业名录的网站
  • 网站给篡改了要怎么做网站pc端和手机端分离怎么做
  • 海珠区住房和建设水务局网站长沙个人网站建设
  • 建立企业的网站有哪几种方案双语网站建设费用
  • 邯郸哪个公司做网站好开发公司补的空置房物业费分录
  • 微网站建设的第一步是什么WordPress 先登录
  • 电子商务网站建设功能工程公司是做什么的
  • 广州做家教的网站申请个人网站和企业官网有什么不同
  • 建设网站哪些好网站开发朋友圈
  • 网站建设品牌策划方案制作音乐排行榜html5
  • 靖江网站优化网络系统集成设计方案
  • 扁平化 公司网站六安人论坛百姓杂谈
  • 福建住房和城乡建设厅网站一体化平台网站 怎么做百度才能搜索出来
  • 中国建设部网站查询网科技公司php网站模版
  • 佛山建设公司网站网络服务器租赁费一般多少钱
  • 建设银行网站的特点优势美食网站开发流程
  • seo免费自助建站一学一做专题网站
  • 网站制作想法怎么建手机网站平台
  • 网站设计实验报告内容与步骤上国外网站的dns
  • 杭州网站建设公司慕枫搜索小程序
  • 番禺网站建设公司做名片的网站