Write a method called scaleByK that takes an ArrayList of integers as a parameter and replaces every integer of value K with K copies of itself. For example, if the list stores the values (4, 1, 2, 0, 3) before the method is called, it should store the values (4, 4, 4, 4, 1, 2, 2, 3, 3, 3) after the method finishes executing. Zeroes and negative numbers should be removed from the list by this method.
public static void scaleByK(ArrayList intList)
{
int i = 0;
while(i < intList.size())
{
int value = intList.get(i);
if(value > 0)
{
for(int j = 1; j < value; j++)
{
intList.add(i + j, value);
}
i += value;
}
else
{
intList.remove(i);
}
}
}