当前位置: 首页 > wzjs >正文

杭州钱塘区网站建设su搜索引擎优化

杭州钱塘区网站建设,su搜索引擎优化,国内高清视频素材网站,做网站需要多大尺寸给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足: answer[i] % answer[j] 0 ,或answer[j] % answer[i] 0 如果存在多个有效解子集&…

给你一个由 无重复 正整数组成的集合 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 * 10^9
  • nums 中的所有整数 互不相同

分析:

状态定义:dp[i] 表示在输入数组 nums 升序排列的前提下,以 nums[i] 为最大整数的「整除子集」的大小(在这种定义下 nums[i] 必须被选择)。

状态转移方程:枚举 j=0…i−1 的所有整数 nums[j],如果 nums[j] 能整除 nums[i],说明 nums[i] 可以扩充在以 nums[j] 为最大整数的整除子集里成为一个更大的整除子集。

初始化:由于 nums[i] 必须被选择,因此对于任意 i=0…n−1,初始的时候 dp[i]=1,这里 n 是输入数组的长度。

输出:由于最大整除子集不一定包含 nums 中最大的整数,所以我们需要枚举所有的 dp[i],选出最大整除子集的大小 maxSize,以及该最大子集中的最大整数 maxVal。按照如下方式倒推获得一个目标子集:

倒序遍历数组 dp,直到找到 dp[i]=maxSize 为止,把此时对应的 nums[i] 加入结果集,此时 maxVal=nums[i];

然后将 maxSize 的值减 1,继续倒序遍历找到 dp[i]=maxSize,且 nums[i] 能整除 maxVal 的 i 为止,将此时的 nums[i] 加入结果集,maxVal 更新为此时的 num[i];

重复上述操作,直到 maxSize 的值变成 0,此时的结果集即为一个目标子集。

/*** Note: The returned array must be malloced, assume caller calls free().*/
int cmp(const void *a,const void *b)
{int *aa=(int*)a;int *bb=(int*)b;return (*aa)-(*bb);
}int* largestDivisibleSubset(int* nums, int numsSize, int* returnSize) {qsort(nums,numsSize,sizeof(int),cmp);int maxsize=1,maxnum=nums[0];int dp[numsSize+5];for(int i=0;i<numsSize;++i)dp[i]=1;for(int i=1;i<numsSize;++i){for(int j=0;j<i;++j){if(nums[i]%nums[j]==0)dp[i]=fmax(dp[i],dp[j]+1);}if(dp[i]>maxsize){maxsize=fmax(dp[i],maxsize);maxnum=fmax(nums[i],maxnum);}}int *ans=(int*)malloc(sizeof(int)*numsSize);int t=0;for(int i=numsSize-1;i>=0;--i){if(dp[i]==maxsize&&maxnum%nums[i]==0)ans[t++]=nums[i],maxsize--,maxnum=nums[i];}*returnSize=t;return ans;
}

http://www.dtcms.com/wzjs/391320.html

相关文章:

  • 品牌推广方式有哪些百度上如何做优化网站
  • 做搜索关键词任务网站百度seo整站优化
  • 做网站 用什么做数据库最好聊城网站推广的公司
  • 网站建设发展状况优化营商环境的意义
  • 北京平台网站建设费用我也要投放广告
  • 免费做手机网站建设网站怎么收录
  • 武汉做装饰公司网站平台竞价恶意点击报案
  • 网站推广教程怎么建网址
  • 网站 建站模式百度广告投放平台叫什么
  • 邢台建设企业网站价格网络推广主要工作内容
  • 大连网站设计开发如何制作一个属于自己的网站
  • 网站代理做反向搜索引擎seo推广
  • 做网站的工作室沈阳网站优化
  • 好用的在线设计网站东莞做网站优化
  • 房地产设计网站武汉网站提升排名
  • 做的网站手机打不开怎么办沈阳网站制作优化推广
  • 青岛门户网站建设网络营销工具
  • 国外自助建站系统长尾词挖掘工具
  • wordpress博客赚钱seo查询源码
  • 美女做羞羞的网站seo在线诊断工具
  • wordpress菜单背景6湖南seo优化公司
  • 怎样免费做书画网站sem竞价推广是什么
  • 网站建设销售发展前景百度推广怎么推
  • 自己可以做企业网站吗沧州网站优化公司
  • 关于门户网站建设讲话百度学术官网入口网页版
  • 漂亮的flash网站指数函数
  • 那些钓鱼网站是怎么做的汽车seo是什么意思
  • 无锡做网站首选众诺肇庆seo
  • 网站备案多少钱百度seo优化方法
  • 商城网站建设教程站长网站