2016-04-10 4 views
0

私はサブセットの種類をよく知っていますが、以下の2つのサブセットの仕組みを理解するのは苦労していますか?誰かがどのように2つの部分集合しか得られないかを指摘することはできますか?私はちょうどそれがより多くの部分集合を持っていると思った。Javaでサブセットを見つける

数字mは、AのいくつかのサブセットSのサイズとして定義され、各要素は連続した整数の範囲をカバーします。つまり、S内の要素をソートする場合、要素jとj + 1の差は0または1です。たとえば、A = {5、4、4、8、8}は、 {4,4,5}および{8,8};これらのサブセットは、それぞれ3および2のm値を有する。

+1

主な質問:あなたは複数のサブセットがあるはずだと思う場合は、他のどのようなサブセットあなたがそこにあるべきだと思いますか? 2番目の質問:これはJavaと何が関係していますか? (私はこれについてJavaプログラムを書く必要があるかもしれないと理解していますが、今のところプログラミングに関する質問はしていません)。 – ajb

+0

また、数学では、「セット」に重複要素がないことに注意してください。要素はセット内にあるか、またはセット内にありません。それは決して複数回存在しません。これは[multiset](https://en.wikipedia.org/wiki/Multiset)のようになります。 – ajb

答えて

1

キーステートメントである:

任意の要素jおよびJ + 1との差がそう0または1

ある、

ため

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

Aがソートされ、要素をトラバースすると、if現在の要素と次の要素(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} 
+0

サー、あなたは最高です。説明をありがとう、私はしばらくの間これにつきました。 – sammyb123

関連する問題