2011-04-30 3 views
0

안녕하세요, 저는이 방법을 내가 만들어야 만하는 정말로 혼란 스럽습니다. 숫자 분 류 카테고리로 히스토그램 배열을 작성해야합니다. 즉 배열의 모든 요소 범위를 다루기 위해 numdivisons에 적합한 합계 범위와 단계 크기를 선택해야합니다. @return 배열 히스토그램되는 위치 나 부문 관측 * 번호를 포함 제가 */배열. 히스토그램. 배열을 부분 집합으로 나누고 각 그룹의 요소 수를 계산합니다. Java

예 : 1,3,4,5,10,15,17 {}.

numdivisions = 2 인 경우 범위 (1 - 17)를 2 개의 구간으로 나눌 필요가 있습니다. 예를 들어 범위 0에서 10 (포함되지 않음)과 10에서 20 사이입니다. 이 경우 0에서 <까지의 값 4와 10에서 20 사이의 값 3이 있습니다.
이 수치는 2에 대한 히스토그램입니다. 배열 {4,3}.

public int [] 히스토그램 (int numdivisions) 누구나 가장 좋은 방법은 무엇인지 말해 줄 수 있습니까? 감사

+0

과제를 이해하기 위해 다음과 같은 요소를 모든 하위 배열은 동일합니다 (size % partitions! = 0 인 경우 + -1). 맞습니까? – amit

+0

아니오 나는 그렇게 생각하지 않는다. 사용자가 numdivsions를 입력하면 각 요소가 속하는 stepsize를 만들어야한다는 뜻이다. 예. {1,2,3,4,56}이고 numdivisons는 3이라고 말하면 단계 크기는 1-3과 4-56이됩니다. 따라서 새로운 배열은 {3,2} 즉 각 단계 크기에 포함되는 요소의 수입니다. 무슨 뜻인지 알 겠어? : o – clfc

답변

2

간단한 :

  1. 최소 및 배열
  2. 의 최대 요소의 차이를 가지고 납입하여 분할,
  3. 이제 배열을 통해 반복 "단계"를 획득, 수를 배치 받기 슬롯 i에있는 슬롯 i에있는 i * 단계 < = n - 최소 < (i + 1) * 단계
+0

예. 감사. u가 3 단계에서 무엇을했는지 설명해 주시겠습니까? 어디서 왔어? 요소 수는 n입니까? – clfc

+0

"n"은 반복되는 현재 요소입니다. – akappa

관련 문제