gpt4 book ai didi

java - 在java中查找子集

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:19:02 25 4
gpt4 key购买 nike

我有点熟悉什么是子集,但我很难理解下面是如何得到两个子集的?有人能指出我们是如何只得到两个子集的吗?我只是认为它会有更多的子集。

一个数字 m 被定义为 A 的某些子集 S 的大小,其中每个元素覆盖一个完整的整数范围;也就是说,如果您要对 S 中的元素进行排序,则任何元素 j 和 j+1 之间的差值要么是 0 要么是 1。例如 A = {5, 4, 4, 8, 8} 给我们一个子集{4, 4, 5} 和 {8,8};这些子集的 m 值分别为 3 和 2。

最佳答案

关键语句是:

the difference between any elements j and j+1 is either 0 or 1

所以,对于

A={5,4,4,8,8}

A 已排序,当您遍历元素时,如果当前元素和下一个元素(j 和 j+1)彼此相差在 0 或 1 之内,则它们属于子集。

因此,当您遍历时:

A[0]=5 and A[1] = 4 : difference 1 - add to subset {5,4}
A[1]=4 and A[2]= 4 : difference 0 - add to subset {5,4,4}

A[2]=4 and A[3] = 8: difference is 4 - Start new subset {8}
A[3] = 8 and A[4] = 8] : difference is 0 - Add to subset {8,8}

关于java - 在java中查找子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36524753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com