java题解LeetCode454.四数相加示例

 更新时间:2023年10月15日 10:33:44   作者:健身的墨镜  
这篇文章主要为大家介绍了java题解LeetCode454.四数相加示例思路解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:

0 <= i, j, k, l < n

nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0

解决问题

将n的四次方转变为n的平方,主要通过按两个两个分组打包实现,此外注意map中记录的是前两个数组中的内容两两相加的值的出现次数,这样做是为了在后面两个数组中寻找时,对于每个匹配的组合,都在总的次数中加上对应值出现次数,这样做是因为该题不去重,每个元组都是独特的,所以都要算上

public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
        int n=nums1.length;
        int count=0;
        Map<Integer,Integer> map=new HashMap<>();
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if(map.containsKey(nums1[i]+nums2[j])){
                    int temp=map.get(nums1[i]+nums2[j])+1;
                    map.put(nums1[i]+nums2[j],temp);
                }
                else{
                    map.put(nums1[i]+nums2[j],1);
                }
            }
        }

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                int temp=-(nums4[j]+nums3[i]);
                if(map.containsKey(temp)){
                    count=count+map.get(temp);
                }
            }
        }
        return count;
    }

以上就是java题解LeetCode454.四数相加示例的详细内容,更多关于java LeetCode四数相加的资料请关注脚本之家其它相关文章!

相关文章

  • springBoot跨域注解@CrossOrigin用法

    springBoot跨域注解@CrossOrigin用法

    SpringFramework 4.2GA为CORS提供了支持,Spring MVC版本必须在4.2或以上才能使用@CrossOrigin注解,如果在Controller中使用@CrossOrigin后仍遇到跨域问题,可能是因为@RequestMapping中未指定HTTP方法,指定具体的Get或Post方法后,可以解决这一问题
    2024-10-10
  • Java多线程——基础概念

    Java多线程——基础概念

    这篇文章主要介绍了java多线程编程实例,分享了几则多线程的实例代码,具有一定参考价值,加深多线程编程的理解还是很有帮助的,需要的朋友可以参考下,希望可以帮到你
    2021-07-07
  • spring boot实现阿里云视频点播上传视频功能(复制粘贴即可)

    spring boot实现阿里云视频点播上传视频功能(复制粘贴即可)

    这篇文章主要介绍了spring boot实现阿里云视频点播上传视频功能(复制粘贴即可),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Spring入门基础之依赖注入

    Spring入门基础之依赖注入

    Idea中使用@Autowire注解会出现提示黄线,强迫症患者看着很难受,使用构造器注入或者setter方法注入后可解决,下面我们一起来看看
    2022-07-07
  • java暴力匹配及KMP算法解决字符串匹配问题示例详解

    java暴力匹配及KMP算法解决字符串匹配问题示例详解

    这篇文章主要为大家介绍了java算法中暴力匹配算法及KMP算法解决字符串匹配的问题示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • SpringBoot整合Shiro和Redis的示例代码

    SpringBoot整合Shiro和Redis的示例代码

    这篇文章主要介绍了SpringBoot整合Shiro和Redis的示例代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 在SpringBoot框架下实现Excel导入导出的方法详解

    在SpringBoot框架下实现Excel导入导出的方法详解

    SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,今天我们就使用纯前对按表格控件带大家了解,如何在Spring Boot框架下实现Excel服务端导入导出,需要的朋友可以参考下
    2023-06-06
  • Java Swing CardLayout卡片布局的实现示例

    Java Swing CardLayout卡片布局的实现示例

    这篇文章主要介绍了Java Swing CardLayout卡片布局的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Spring Boot 2.4 对多环境配置的支持更改示例代码

    Spring Boot 2.4 对多环境配置的支持更改示例代码

    这篇文章主要介绍了Spring Boot 2.4 对多环境配置的支持更改,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Hibernate之环境搭建及demo分享

    Hibernate之环境搭建及demo分享

    下面小编就为大家分享一篇Hibernate之环境搭建及demo,具有很好的参考价值,希望对大家有所帮助
    2017-11-11

最新评论