2016-04-10 15 views
0

Alt kümelerin ne olduğunu bildiğimden, ancak aşağıdaki iki alt kümenin nasıl anlaşıldığını anlamakta zorlanıyorum. Birisi sadece iki alt kümeye sahip olduğumuza işaret edebilir. Sadece daha fazla altkümeye sahip olacağını düşündüm. Bir sayı, m, her bir öğenin kesintisiz tamsayı aralığı kapladığı bazı A alt kümelerinin boyutu olarak tanımlanır; Yani, eğer öğeleri S içinde sıralayacak olsaydınız, j ve j + 1 öğelerinin arasındaki fark 0 veya 1'dir. Örneğin A = {5, 4, 4, 8, 8} bize bir alt küme verir. {4, 4, 5} ve {8,8}; Bu alt kümeler sırasıyla 3 ve 2 m değerine sahiptir.Java'da bir alt kümeyi bulma

+1

Ana soru: Eğer daha alt kümeleri olması gerektiğini düşünüyorsanız, başka hangi alt kümeleri orada olmalı sizce? İkinci soru: Bunun Java ile ne ilgisi var? (Bunun için bir Java programı yazmak zorunda kalabileceğinizi anlıyorum, ancak şimdiye kadar bir programlama sorusu sormadınız). – ajb

+0

Ayrıca, matematikte bir "kümenin" hiçbir zaman yinelenen öğeye sahip olmadığını unutmayın. Bir öğe ya bir kümedir ya da değildir; Hiçbir zaman birden fazla kez mevcut değildir. Bu daha çok [multiset] (https://en.wikipedia.org/wiki/Multiset) gibi görünüyor. – ajb

cevap

1

anahtar ifadesi: herhangi bir öğe j ve j + 1 arasındaki fark, ya

0 veya

So 1 A = {5

olan

, 4,4,8,81

A; Geçerli eleman ve bir sonraki eleman (j ve j + 1), birbirinin 0 veya 1'i arasında bir fark içerisindedir, bunlar alt kümeye aittir. Dolayısıyla

, sen geçerken:

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

Efendim, harikasınız. Açıklama için çok teşekkür ederim, bir süredir bu konuya takıldım. – sammyb123

İlgili konular