程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 【LeetCode OJ 090】Subsets II淺析

【LeetCode OJ 090】Subsets II淺析

編輯:C++入門知識

【LeetCode OJ 090】Subsets II淺析


題目:Given a collection of integers that might contain duplicates,nums, return all possible subsets.

Note:

  • Elements in a subset must be in non-descending order.
  • The solution set must not contain duplicate subsets.

     

    For example,
    Ifnums=[1,2,2], a solution is:

     

    [
      [2],
      [1],
      [1,2,2],
      [2,2],
      [1,2],
      []
    ]
    解題思路:這題與第78題相似,不同之處在於這題給定的數組中重復的數字,參照78題思路,再利用HashSet就可以過濾掉重復的list,具體實現見下面代碼:

     

     

    public class Solution
    {
    	public List> subsetsWithDup(int[] nums) 
    	{
    		List> result=new ArrayList>();
    		HashSet> temp=new HashSet>();
    		//先對數組進行排序
    		Arrays.sort(nums);
    		int n=nums.length;
    		//1< list=new ArrayList();
    			for(int j=0;j list:temp)
    		{
    			result.add(list);
    		}
    		return result;
        }
    }


     

     

     

     

     

     

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved