zoukankan      html  css  js  c++  java
  • 4Sum

     1 var fourSum = function(nums, target) {
     2     if (nums.length < 4) {
     3         return [];
     4     }
     5 
     6     var i, j, l, r, sum, ret = [],
     7         len = nums.length;
     8 
     9     //排序
    10     nums = nums.sort(function(num1, num2) {
    11         return num1 - num2;
    12     });
    13 
    14     for (i = 0; i < len - 3; i++) {
    15         //去重
    16         if (nums[i] === nums[i - 1]) {
    17             continue;
    18         }
    19 
    20         for (j = i + 1; j < len - 2; j++) {
    21             //去重
    22             if (j > i + 1 && nums[j] === nums[j - 1]) {
    23                 continue;
    24             }
    25 
    26             l = j + 1;
    27             r = len - 1;
    28 
    29             while (l < r) {
    30                 sum = nums[i] + nums[j] + nums[l] + nums[r];
    31                 if ((r < len - 1 && nums[r] === nums[r + 1]) || (sum > target)) {
    32                     r--;
    33                 } else if ((l > j + 1 && nums[l] === nums[l - 1]) || (sum < target)) {
    34                     l++;
    35                 } else {
    36                     ret[ret.length] = [nums[i], nums[j], nums[l], nums[r]];
    37                     l++;
    38                 }
    39             }
    40         }
    41     }
    42 
    43     return ret;
    44 };
  • 相关阅读:
    酒店预订2
    酒店预订1
    软件2
    酒店预定系统
    系统软件构成
    用例图
    软件构成
    业务用例名
    业务用例结果查询
    业务用例导师交流
  • 原文地址:https://www.cnblogs.com/huoteng/p/5029067.html
Copyright © 2011-2022 走看看