Write a method mirror that doubles the size of a list of integers by appending the mirror image of the original sequence to the end of the list. The mirror image is the same sequence of values in reverse order. For example, if a variable called list stores this sequence of values:
[1, 3, 2, 7]
and we make the following call:
list.mirror();
then it should store the following values after the call:
[1, 3, 2, 7, 7, 2, 3, 1]
Notice that it has been doubled in size by having the original sequence appearing in reverse order at the end of the list. You may not make assumptions about how many elements are in the list. Because adding these elements might overrun the capacity of the underlying array, you may need to call ensureCapacity to enlarge this array.
Assume you are adding to the ArrayIntList class with following fields:
public class ArrayIntList {
public class ArrayIntList { private int[] elementData; private int size; public void add(int value) { ... } public void add(int index, int value) { ... } public void ensureCapacity(int capacity) { ... } ... // your code goes here}
What improvements can I make to help on my future coding? Interested in knowing if there are other ways to tackle this question, and if the way I solved the problem is safe? This code interacts with the ArrayIntList.java class.
public void mirror() {
if (size != 0) {
int limit = size * 2;
this.ensureCapacity(limit);
size = limit;
for (int i = 0; i < size; i++) {
elementData[(limit - 1) - i] = elementData[i];
}
}
}
Write a method mirror that doubles the size of a list of integers by appending the mirror image of the original sequence to the end of the list. The mirror image is the same sequence of values in reverse order. For example, if a variable called list stores this sequence of values:
[1, 3, 2, 7]
and we make the following call:
list.mirror();
then it should store the following values after the call:
[1, 3, 2, 7, 7, 2, 3, 1]
Notice that it has been doubled in size by having the original sequence appearing in reverse order at the end of the list. You may not make assumptions about how many elements are in the list. Because adding these elements might overrun the capacity of the underlying array, you may need to call ensureCapacity to enlarge this array.
Assume you are adding to the ArrayIntList class with following fields:
public class ArrayIntList {
private int[] elementData; private int size; public void add(int value) { ... } public void add(int index, int value) { ... } public void ensureCapacity(int capacity) { ... } ... // your code goes here}
What improvements can I make to help on my future coding? Interested in knowing if there are other ways to tackle this question, and if the way I solved the problem is safe? This code interacts with the ArrayIntList.java class.
public void mirror() {
if (size != 0) {
int limit = size * 2;
this.ensureCapacity(limit);
size = limit;
for (int i = 0; i < size; i++) {
elementData[(limit - 1) - i] = elementData[i];
}
}
}
Write a method mirror that doubles the size of a list of integers by appending the mirror image of the original sequence to the end of the list. The mirror image is the same sequence of values in reverse order. For example, if a variable called list stores this sequence of values:
[1, 3, 2, 7]
and we make the following call:
list.mirror();
then it should store the following values after the call:
[1, 3, 2, 7, 7, 2, 3, 1]
Notice that it has been doubled in size by having the original sequence appearing in reverse order at the end of the list. You may not make assumptions about how many elements are in the list. Because adding these elements might overrun the capacity of the underlying array, you may need to call ensureCapacity to enlarge this array.
Assume you are adding to the ArrayIntList class with following fields:
public class ArrayIntList { private int[] elementData; private int size; public void add(int value) { ... } public void add(int index, int value) { ... } public void ensureCapacity(int capacity) { ... } ... // your code goes here}
What improvements can I make to help on my future coding? Interested in knowing if there are other ways to tackle this question, and if the way I solved the problem is safe? This code interacts with the ArrayIntList.java class.
public void mirror() {
if (size != 0) {
int limit = size * 2;
this.ensureCapacity(limit);
size = limit;
for (int i = 0; i < size; i++) {
elementData[(limit - 1) - i] = elementData[i];
}
}
}
"mirror" elements in a list
Write a method mirror that doubles the size of a list of integers by appending the mirror image of the original sequence to the end of the list. The mirror image is the same sequence of values in reverse order. For example, if a variable called list stores this sequence of values:
[1, 3, 2, 7]
and we make the following call:
list.mirror();
then it should store the following values after the call:
[1, 3, 2, 7, 7, 2, 3, 1]
Notice that it has been doubled in size by having the original sequence appearing in reverse order at the end of the list. You may not make assumptions about how many elements are in the list. Because adding these elements might overrun the capacity of the underlying array, you may need to call ensureCapacity to enlarge this array.
Assume you are adding to the ArrayIntList class with following fields:
public class ArrayIntList {
private int[] elementData; private int size; public void add(int value) { ... } public void add(int index, int value) { ... } public void ensureCapacity(int capacity) { ... } ... // your code goes here }
What improvements can I make to help on my future coding? Interested in knowing if there are other ways to tackle this question, and if the way I solved the problem is safe? This code interacts with the ArrayIntList.java class.
public void mirror() {
if (size != 0) {
int limit = size * 2;
this.ensureCapacity(limit);
size = limit;
for (int i = 0; i < size; i++) {
elementData[(limit - 1) - i] = elementData[i];
}
}
}