栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

有两个数组,每个数组有大约10万个字符串,如何快速的找出数组中相同的字符串。

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

有两个数组,每个数组有大约10万个字符串,如何快速的找出数组中相同的字符串。

1、问题分析

这个问题相对比较简单,有两种方式,第一种为通过两个for循环来实现,循环遍历两个数组。
if(arr1[i]==arr2[j]),i++,j++
if(arr1[i] if(arr2[j] 第二种思路,通过哈希表,把其中一个数组的值作为哈希表的键,下标作为值。

2、算法分析

第一种需要需要循环两个数组,所有时间复杂度跟两个数组有关系为0(n²),
时间开销较大,第二种,只需要循环一次插入,循环一次取出,哈希表的插入,查找,以及删除的时间复杂度接近于O(1),所以整个代码中取最大,所以为0(n),n为数组的长度。

3、代码实现
import java.util.HashMap;
import java.util.Map;

public class CompareTwoArr {
		
public static void main(String[] args) {
	String[] arr1= {"a","c","b","b"};
	String[] arr2= {"a","c","d","b"};
	Map map=new HashMap();
	for(int i=0;i
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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