• 两个数组的交集


    此博客链接:https://www.cnblogs.com/ping2yingshi/p/13506942.html

    两个数组的交集

    题目链接:https://leetcode-cn.com/problems/intersection-of-two-arrays/

    给定两个数组,编写一个函数来计算它们的交集。

    示例 1:

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

    输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
    输出:[9,4]

    题解:

           前提:

                     返回的结果是数组,但是题目相同的交集只返回一个,所以这里定义列表来存储返回结果,最后把列表转成数组返回。

            思路:

                   1.双层遍历。

                    2.拿一个数组的每个数和另外一个数组中的每个数做比较。

                    3.如果两个数组中的数相等,则判断列表中是否已经存在该数,如果不存在,则把这个数加入到列表中。

                    4.把列表转成数组。

    代码:

    class Solution {
        public int[] intersection(int[] nums1, int[] nums2) {
            int len1=nums1.length;
            int len2=nums2.length;
            int len=Math.max(len1,len2);
            // int [] res=new int [len];
            List <Integer> res=new ArrayList();
            int k=0;
           for(int i=0;i<len1;i++)
             for(int j=0;j<len2;j++)
             {
                 if(nums1[i]==nums2[j])
                    //   res[k++]=nums1[i];
                    if(!res.contains(nums1[i]))
                    {
                        res.add(nums1[i]);
                    }
             }
              int[] ret = new int[res.size()];
               for(int i = 0;i < ret.length;i++)
                   ret[i] = res.get(i);
             return ret;
        }
    }

                

  • 相关阅读:
    大数据之路_1
    Echart图表设置项
    AsyncSocket
    book_.Net与设计模式
    book_精通正则表达式
    操作系统基本功能
    操作系统基础
    网络系统结构与设计的基本原则
    3.1EDA和数据描述: 探索性数据分析
    宽带城域网
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/13506942.html
Copyright © 2020-2023  润新知