Leetcode面试经典150题-349.两个数组的交集

题目比较简单,散散心吧

解法都在代码里,不懂就留言或者私信

java 复制代码
class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        /**先排个序 */
        Arrays.sort(nums1);
        Arrays.sort(nums2);
        int curIndex1 = 0;
        int curIndex2 = 0;
        /**先把数组的大小设置为最大可能,最大可能就是跟小数组等长 */
        int[] ans = new int[Math.min(nums1.length, nums2.length)];
        /**记录答案的有效长度 */
        int validLen = 0;
        while(curIndex1 < nums1.length && curIndex2 < nums2.length) {
            /**如果和之前的数一样就跳下一个,nums1和nums2一样的逻辑 */
            while(curIndex1 < nums1.length && curIndex1 != 0 && nums1[curIndex1] == nums1[curIndex1 - 1]) {
                curIndex1 ++;
            }
            if(curIndex2 < nums2.length && curIndex2 != 0 && nums2[curIndex2] == nums2[curIndex2 - 1]) {
                curIndex2 ++;
            }
            /**任何一个到达最后了,没必要继续了,不会再有相等的数了 */
            if(curIndex1 == nums1.length || curIndex2 == nums2.length) {
                break;
            }
            /**如果相等,记录交集,两个都跳下一个 */
            if(nums1[curIndex1] == nums2[curIndex2]) {
                ans[validLen++] = nums1[curIndex1];
                curIndex1 ++;
                curIndex2 ++;
                /**else if和else里是同一个意思,谁小谁跳下一个,因为下个数更大才有可能和另外一个相等 */
            } else if(nums1[curIndex1] > nums2[curIndex2]) {
                curIndex2 ++;
            } else {
                curIndex1 ++;
            }
        }
        /**拷贝出有效的长度 */
        return Arrays.copyOf(ans, validLen);
    }
}

这种题出现就是送你通过的,没必须追求极致,个人觉得

相关推荐
AI进化营-智能译站4 分钟前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
CS创新实验室38 分钟前
从盘边到芯端——硬盘接口七十年变迁史
算法·磁盘调度
xvhao20131 小时前
单源、多源最短路
数据结构·c++·算法·深度优先·动态规划·图论·图搜索算法
MATLAB代码顾问1 小时前
多种群协同进化算法(MPCE)求解大规模作业车间调度问题——附MATLAB代码
开发语言·算法·matlab
FQNmxDG4S1 小时前
JVM内存模型详解:堆、栈、方法区与垃圾回收
java·jvm·算法
We་ct2 小时前
LeetCode 72. 编辑距离:动态规划经典题解
前端·算法·leetcode·typescript·动态规划
AI科技星2 小时前
精细结构常数α作为SI 7大基本量纲统一耦合常数的量子几何涌现理论
算法·机器学习·数学建模·数据挖掘·量子计算
研究点啥好呢2 小时前
快手产品经理面试题精选:10道高频考题+答案解析
人工智能·面试·产品经理
txzrxz2 小时前
动态规划——背包问题
算法·动态规划
Yingye Zhu(HPXXZYY)2 小时前
洛谷 P15553 [CCPC 2025 哈尔滨站] 液压机
算法