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

高平网站优化公司地方门户网站系统有哪些

高平网站优化公司,地方门户网站系统有哪些,亿速云,win7做网站1 题目地址 349. 两个数组的交集 - 力扣(LeetCode)349. 两个数组的交集 - 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1:输入:nu…

1 题目地址

349. 两个数组的交集 - 力扣(LeetCode)349. 两个数组的交集 - 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]解释:[4,9] 也是可通过的 提示: * 1 <= nums1.length, nums2.length <= 1000 * 0 <= nums1[i], nums2[i] <= 1000 https://leetcode.cn/problems/intersection-of-two-arrays/description/


2 题目说明

给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

 

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]

示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的

 

提示:

  • 1 <= nums1.length, nums2.length <= 1000
  • 0 <= nums1[i], nums2[i] <= 1000


3 解题思路

方式一:使用HashSet
1、将数组nums1的数据放入到HashSet中
2、遍历nums2中的数据是否存在HashSet中,存在在放入到另外一个HashSet中

方式二:使用哈希表(数组) 【题干中限制了nums1 nums2的长度、数值都小于等于1000】
如果题干没有限制,其实是不太适合用哈希表实现的,而且如果哈希值比较少、特别分散、跨度非常大,使用数组就造成空间的极大浪费。
1、创建两个数组nums1Array、nums2Array长度都为1001
                (nums[i]=1000需要往nums1Array[1000]=1;数组长度设置成1000会报数组下标越界)
2、分别遍历nums1,nums2,将数据分别放入到nums1Array、nums2Array; nums1[i]的值映射成数组的index,出现的次数映射成value
3、判断两个数组nums1Array、nums2Array中的索引下标对应的value都大于0表示存在相同的数字。


4 代码编写


4.1 HashSet方式

class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer> nums1Set = new HashSet<>();Set<Integer> resultSet = new HashSet<>();for (int i=0; i<nums1.length; i++) {nums1Set.add(nums1[i]);}for (int i=0; i<nums2.length; i++) {if (nums1Set.contains(nums2[i])) {resultSet.add(nums2[i]);}}return resultSet.stream().mapToInt(x->x).toArray();}
}


4.2 使用hash数组

 int[] nums1Array = new int[1001];
 int[] nums2Array = new int[1001]; 
注意这块长度如果设置成1000,会报数组下标越界,当数组中存在1000的时候,就需要往nums1Array[1000]=1

class Solution {public int[] intersection(int[] nums1, int[] nums2) {int[] nums1Array = new int[1001];int[] nums2Array = new int[1001];for (int i=0; i<nums1.length; i++) {nums1Array[nums1[i]]++; // 关键码(索引)表示数据,关键值(数据)表示数量}for (int i=0; i<nums2.length; i++) {nums2Array[nums2[i]]++; // 关键码(索引)表示数据,关键值(数据)表示数量}List<Integer> resultList = new ArrayList<>();for (int i=0; i<1001; i++) {if (nums1Array[i]>0 && nums2Array[i]>0) {resultList.add(i);}}return resultList.stream().mapToInt(Integer::intValue).toArray();}
}

 

http://www.dtcms.com/wzjs/810624.html

相关文章:

  • 长春网站建设模板样式做视频找素材的网站有哪些
  • 网站建设费用报价网站建设公司华网天下北京
  • idea做网站登录厦门网站建设工程
  • 山西通州集团网站建设国际进出口贸易网站
  • 网站建设 数据归属微信平台可以做微网站吗
  • 大连投诉网站网页升级访问最新区域每天自动更新
  • 无忧网站优化淘宝店招图片大全免费
  • 做网站编辑需要看什么书全网营销的四大优势
  • 集团网站建设报价企业局域网做网站屏蔽
  • 信阳网站建设找汉狮百度小说风云榜排名
  • 网站建设 域名 数据库济南品牌网站建设定制
  • 海城建设网站wordpress国外vps
  • 中国优秀设计网站有哪些福田企业网站建设
  • 芜湖手机网站开发什么是平面设计 都包括哪些内容
  • 个人开发的软件能卖吗网站优化和推广
  • 河南省住房和城乡建设局网站长沙网络公司营销推广
  • 铜仁网站网站建设青海网站建设的企业
  • 云畅网站建设国内最大ae模板下载网站
  • 门户网站 建设企业网站备案
  • wordpress 双语站点拓者设计吧手机版
  • 网站开发的前端与后端如何加快百度收录网站
  • 南通门户网站世界杯直播入口官网
  • 掼蛋网站建设项目管理工具
  • 永州建设公司网站wordpress的用户名密码
  • 建立网站需要多少钱怎么样国内最大的搜索引擎
  • 广州营销型网站建设团队抚顺市+网站建设
  • 北京+网站建设中国科技成就作文800字
  • 网页给别人做的 网站后续收费杭州搜索推广公司
  • 该网站正在建设html5制作网页的步骤
  • 撰写网站栏目规划网站的建设特色