368. 最大整除子集

给出一个由无重复的正整数组成的集合,找出其中最大的整除子集,子集中任意一对 (Si,Sj) 都要满足:Si % Sj = 0 或 Sj % Si = 0。

如果有多个目标子集,返回其中任何一个均可。

示例 1:

输入: [1,2,3]

输出: [1,2] (当然, [1,3] 也正确)

示例 2:

输入: [1,2,4,8]

输出: [1,2,4,8]

class Solution {
public int max(int a,int b){
return a>b?a:b;
}
public List<Integer> largestDivisibleSubset(int[] nums) {
int n=nums.length;
if(n==0)
return new ArrayList();
int[] last=new int[n];
for(int i=0;i<n;i++)
last[i]=-1;
int[] dp=new int[n];
int ans=0;
Arrays.sort(nums);
for(int i=0;i<n;i++)
for(int j=0;j<i;j++){
if(nums[i]%nums[j]==0&&dp[j]+1>dp[i]){
dp[i]=dp[j]+1;
if(dp[ans]<dp[i])
ans=i;
last[i]=j;
}
}
List<Integer> ansList=new ArrayList();
while(ans!=-1){
ansList.add(nums[ans]);
ans=last[ans];
}
return ansList;
}
}

最新文章

  1. Python学习 过程中零散知识点的总结
  2. Eclipse查看JDK源码
  3. NoSQL数据库的分布式算法&amp;&amp;memcache集群的实现
  4. POJ 1860 Currency Exchange (bellman-ford判负环)
  5. Android no such table (找不到表)
  6. c# 鼠标操作
  7. Spark函数详解系列之RDD基本转换
  8. fopen()惹的祸
  9. php字符串比较
  10. 基于BUI开发Asp.net MVC项目
  11. ActiveMQ 503错误
  12. 深入解析Java反射基础
  13. centos7下部署node应用程序
  14. 微软新动向之Android和IOS应用 visual studio 2015 Cordova[原创]
  15. maven scope使用和理解
  16. matplotlib画sin(x)和cos(x)/2
  17. 如何使用ABBYY FineReader 12将JPEG文件转换成Word文档
  18. Ajax常见面试题 -- 前端面试题(二)
  19. 获得assets文件夹中文件内容
  20. cookie的长度和限制数量

热门文章

  1. Spring Boot Admin简介及实践
  2. DP动态规划之01背包问题
  3. spark优化总结
  4. php_rce
  5. CSS之未知高度img垂直居中
  6. API 网关 Kong
  7. 「雕爷学编程」Arduino动手做(30)——光敏二极管模块
  8. chrome &quot;items hidden by filters&quot;
  9. CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\ad888a2
  10. 笔记二(JavaWeb)