无标题文章

 四数之和

给定一个包含n个整数的数组和一个目标值,判断数组中是否存在四个元素a,b,c,d.使得a+b+c+d的值与目标值相等。

public class Solution5 {

    public static void main(String[]args){

        int[]nums={1,0,-1,0,-2,2};

        int[]res=new int[4];

        ArrayListlist=new ArrayList<>();

        for (int i=0;i

            for (int j=i+1;j

                for (int j2=i+2;j2

                    for (int k=i+3;k

                        int a=nums[k];

                        int b=nums[j2];

                        int c=nums[j];

                        int d=nums[i];

                        if (a+b+c+d==0){

                            res[0]=a;

                            res[1]=b;

                            res[2]=c;

                            res[3]=d;

                            Arrays.sort(res);

                            list.add(Arrays.toString(res));

                            res=new int[4];

                        }

                    }

                }

            }

        }

        Mapmap=new HashMap<>();

        for (int i=0;i

            map.put(list.get(i),1);

        }

        Set>set=map.entrySet();

        for (Map.Entryentry:set){

            System.out.println(entry.getKey());

        }

    }

}

你可能感兴趣的:(无标题文章)