zoukankan      html  css  js  c++  java
  • LeetCode 3Sum

    Given an array S of n integers, are there elements abc in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.

    Note:

    • Elements in a triplet (a,b,c) must be in non-descending order. (ie, a ≤ b ≤ c)
    • The solution set must not contain duplicate triplets.
        For example, given array S = {-1 0 1 2 -1 -4},
    
        A solution set is:
        (-1, 0, 1)
        (-1, -1, 2)

     1 public class Solution {
     2     public List<List<Integer>> threeSum(int[] num) {
     3         HashSet<List<Integer>> set = new HashSet<List<Integer>>();
     4         int len=num.length;
     5         Arrays.sort(num);
     6         for (int i = 0; i < len-2; i++) {
     7             if (num[i]>0)break;
     8             for (int j = len-1 ; j >i+1 ; j--) {
     9                 if (num[j]<0) break;
    10                 int ab = num[i] + num[j];
    11                 int c = -ab;
    12                 int k = bs(c, num, i + 1, j - 1);
    13                 if (k>0) {
    14                     ArrayList<Integer> list = new ArrayList<Integer>();
    15                     list.add(num[i]);
    16                     list.add(num[k]);
    17                     list.add(num[j]);
    18                     set.add(list);
    19                 }
    20             }
    21         }
    22         return new ArrayList<List<Integer>>(set);
    23     }
    24         int bs(int c, int[] num, int l, int r) {
    25         if(num[l] > c || num[r] < c) return -1;
    26         while(l <= r) {
    27             int m = (l+r)/2;
    28             if(num[m] == c) return m;
    29             else if(num[m] < c) l = m+1;
    30             else r = m-1;
    31         }
    32         return -1;
    33     }
    34 }
  • 相关阅读:
    删除ubuntu中多余的主题和背景文件
    android 开发之动画Activity
    android开发之自定义组件
    android 开发之Activity切换
    程序设计课件
    初识Proximal Policy Optimization (PPO)
    初识Auction Theory
    什么是Experience Replay和Seperate Target Networks
    初识ActorCritic
    初识Stackelberg Game
  • 原文地址:https://www.cnblogs.com/birdhack/p/4114464.html
Copyright © 2011-2022 走看看