2956.力扣每日一题7/16 Java

  • 博客主页:音符犹如代码
  • 系列专栏:算法练习
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

目录

解题思路

解题方法

时间复杂度

空间复杂度

Code


解题思路

通过两层循环来分别处理 nums1 和 nums2 。对于 nums1 中的每个元素,遍历 nums2 来检查是否存在相同元素,若存在则 count1 加 1 并结束内层循环。对于 nums2 中的每个元素,遍历 nums1 进行相同的操作,若存在相同元素则 count2 加 1 并结束内层循环。

解题方法

  • 首先定义两个变量 count1 和 count2 并初始化为 0 ,用于记录满足条件的数量。
  • 然后通过两个嵌套的循环来进行比较和计数。
    • 外层循环遍历 nums1 。
    • 内层循环遍历 nums2 ,找到相同元素则 count1 加 1 并立即结束内层循环。
    • 外层循环遍历 nums2 。
    • 内层循环遍历 nums1 ,找到相同元素则 count2 加 1 并立即结束内层循环。

时间复杂度

O(n * m) 

其中 n 是 nums1 的长度,m 是 nums2 的长度。因为对于 nums1 的每个元素都要遍历 nums2 ,对于 nums2 的每个元素都要遍历 nums1 

空间复杂度

O(1)

Code

class Solution {
    public int[] findIntersectionValues(int[] nums1, int[] nums2) {
        int count1 = 0;
        int count2 = 0;

        for (int i = 0; i < nums1.length; i++) {
            for (int num : nums2) {
                if (nums1[i] == num) {
                    count1++;
                    break;
                }
            }
        }

        for (int i = 0; i < nums2.length; i++) {
            for (int num : nums1) {
                if (nums2[i] == num) {
                    count2++;
                    break;
                }
            }
        }

        return new int[]{count1, count2};
    }
}

存在即合理——黑格尔(Georg Wilhelm Friedrich Hegel)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值