Write a method called fromCounts that constructs and returns a new ArrayIntList of values given an existing ArrayIntList of counts. Assume that the ArrayIntList that is passed as a parameter stores a sequence of integer pairs that each indicate a count and a number. For example, suppose that an ArrayIntList called list stores [5, 2, 2, -5, 4, 3, 2, 4, 1, 1, 1, 0, 2, 17]. We will interpret this sequence of pairs to mean that you have 5 occurrences of 2, followed by two occurrences of -5 followed by 4 occurrences of 3, and so on. So the call of: ArrayIntList list2 = list.fromCounts();
should cause the variable list2 to store [2, 2, 2, 2, 2, -5, -5, 3, 3, 3, 3, 4, 4, 1, 0, 17, 17}
đây là code của mình nhưng chạy sai, mng sửa giúp mình đc k ạ
public class ArrayInList {
private int [] elementData;
private int size;
public ArrayInList(){
size = 0;
elementData = new int[size];
}
public ArrayInList(int[] elementData, int size) {
this.elementData = elementData;
this.size = size;
}
ArrayInList fromCounts() {
int arrSize = 0;
for (int i = 0; i < elementData.length; i+=2) {
arrSize = arrSize+this.elementData[i];
}
int s = 0;
int[] elementData = new int[arrSize];
ArrayInList array = new ArrayInList(elementData, arrSize);
for (int i = 0; i < elementData.length; i += 2) {
for (int j = 1; j <= this.elementData[i]; j++) {
array.elementData[s] = this.elementData[i+1];
s++;
}
}
return array;
}
}