zoukankan      html  css  js  c++  java
  • 白菜刷LeetCode记-454. 4Sum II

    昨天太忙,今天补上这一题。题目如下:

    首先能够想到的就是使用比较暴力的方法,通过四层循环去找到结果,但是这种结果肯定是超时的,想了好久都没想到,在网上找到了使用map实现的方法。代码如下:

     1 /**
     2  * @param {number[]} A
     3  * @param {number[]} B
     4  * @param {number[]} C
     5  * @param {number[]} D
     6  * @return {number}
     7  */
     8 var fourSumCount = function(A, B, C, D) {
     9     let res = 0, n = A.length;
    10     
    11     let m = new Map();
    12     
    13     for(let i = 0 ; i < n ; i++){
    14         for(let j = 0 ; j < n ; j++){
    15             if(m.has(A[i]+B[j])){
    16                 m.set(A[i]+B[j], m.get(A[i]+B[j]) + 1);
    17             }else{
    18                 m.set(A[i]+B[j], 1);
    19             }
    20             
    21         }
    22     }
    23     
    24     for(let i = 0 ; i < n ; i++){
    25         for(let j = 0 ; j < n ; j++){
    26             let opp = -1*(C[i]+D[j]);
    27             if(m.has(opp)){
    28                 res += m.get(opp);
    29             }
    30         }
    31     }
    32     
    33     return res;
    34 };

    END

  • 相关阅读:
    【javascript】select操作实例
    【javascript】函数
    【javascript】一些资料
    【javascript】操作符:一元操作符
    动态执行Sql
    索引( index )
    事务
    用户相关
    视图(view)
    函数(function)
  • 原文地址:https://www.cnblogs.com/sssysukww/p/9636659.html
Copyright © 2011-2022 走看看