博客
关于我
【java】368. 最大整除子集---使用动态规划,快速解决子问题!!!
阅读量:318 次
发布时间:2019-03-04

本文共 870 字,大约阅读时间需要 2 分钟。

给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:

answer[i] % answer[j] == 0 ,或
answer[j] % answer[i] == 0
如果存在多个有效解子集,返回其中任何一个均可。

示例 1:

输入:nums = [1,2,3]

输出:[1,2]
解释:[1,3] 也会被视为正确答案。
示例 2:

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

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

提示:

1 <= nums.length <= 1000

1 <= nums[i] <= 2 * 109
nums 中的所有整数 互不相同
在这里插入图片描述

代码:public List
largestDivisibleSubset(int[] nums) { List
list=new ArrayList
(); if(nums.length==0) { return list; } Arrays.sort(nums); //记录该元素整除元素的个数 int []dp=new int[nums.length]; //记录该元素整除最近的下一个元素的下标 int []index=new int[nums.length]; Arrays.fill(index,-1); int a=0; for(int i=0;i
dp[i]) { dp[i]++; index[i]=j; if(dp[i]>dp[a]) { a=i; } } } } while(a!=-1) { list.add(nums[a]); a=index[a]; } return list; }

转载地址:http://romq.baihongyu.com/

你可能感兴趣的文章
Nginx知识详解(理论+实战更易懂)
查看>>
Nginx简单介绍
查看>>
Nginx系列6之-rewirte功能使用案例总结
查看>>
nginx线程模型理解
查看>>
Nginx虚拟主机配置
查看>>
Nginx访问控制_登陆权限的控制(http_auth_basic_module)
查看>>
nginx访问控制配置
查看>>
Nginx负载均衡和F5的区别---系统运维工作笔记001
查看>>
nginx负载均衡和反相代理的配置
查看>>
nginx负载均衡器处理session共享的几种方法(转)
查看>>
nginx负载均衡的5种策略
查看>>
nginx负载均衡的5种策略(转载)
查看>>
nginx负载均衡的五种算法
查看>>
Nginx负载均衡(upstream)
查看>>
nginx转发端口时与导致websocket不生效
查看>>
Nginx运维与实战(二)-Https配置
查看>>
Nginx部署_mysql代理_redis代理_phoenix代理_xxljob代理_websocket代理_Nacos代理_内网穿透代理_多系统转发---记录021_大数据工作笔记0181
查看>>
Nginx配置HTTPS服务
查看>>
Nginx配置Https证书
查看>>
Nginx配置http跳转https
查看>>