zoukankan      html  css  js  c++  java
  • 3Sum

     1 var threeSum = function(nums) {
     2     var res = [],
     3         i, l, r, sum;
     4 
     5     if (nums.length < 3) {
     6         return res;
     7     }
     8 
     9     nums = nums.sort(function(num1, num2) {
    10         return num1 - num2;
    11     });
    12 
    13     for (i = 0; i < nums.length - 2 && nums[i] <= 0; i++) {
    14         //去重
    15         if (nums[i] === nums[i - 1]) {
    16             continue;
    17         }
    18         l = i + 1;
    19         r = nums.length - 1;
    20         while (l < r) {
    21             sum = nums[i] + nums[l] + nums[r]
    22             if (sum < 0) {
    23                 l++;
    24             } else if (sum > 0) {
    25                 r--;
    26             } else {
    27                 //去重
    28                 if ((l === i + 1) || (l > i + 1 && nums[l] !== nums[l - 1])) {
    29                     res[res.length] = [nums[i], nums[l], nums[r]];
    30                 }
    31                 l++;
    32             }
    33         }
    34     }
    35 
    36     return res;
    37 };
  • 相关阅读:
    Django 框架
    Git 教程
    Vue详解
    pycharm激活码
    通过元类创建一个Python类
    re模块
    selenium模块
    Beautifulsoup模块基础详解
    requests库
    Urllib库
  • 原文地址:https://www.cnblogs.com/HuoAA/p/5074230.html
Copyright © 2011-2022 走看看