rovalos
BAN USERJava:
private static int[] moveZerosToEnd(int[] arrayOfInteger){
int temp;
int end = arrayOfInteger.length -1;
for(int i = 0; i < arrayOfInteger.length -1; i++){
if(i < end){
if(arrayOfInteger[i] == 0){
if(arrayOfInteger[end] == 0){
arrayOfInteger[end--] = arrayOfInteger[i];
}else{
temp = arrayOfInteger[end]; // 1
arrayOfInteger[end--] = arrayOfInteger[i];
arrayOfInteger[i] = temp;
}
}
}
}
return arrayOfInteger;
}
Hello, guys! I was practiced a little bit and this is my answer. Let me know if I am wrong with this, I'd appreciate it
private static int countRepeated = 0;
public static void main(String[] args) {
int[] array = {5, 3, 9, 1};
int[] array2 = {3, 4, 5, 1};
System.out.print(Arrays.toString(mergedArrays(array, array2)));
}
public static int[] mergedArrays(int[] firstArray, int[] secondArray){
int[] mergeArray = new int[(firstArray.length + secondArray.length)];
int i = 0;
int j = 0;
int k = 0;
while( i < firstArray.length && j < secondArray.length){
if(firstArray[i] < secondArray[j]){
if(isRepeated(mergeArray, firstArray[i]))
mergeArray[k++] = firstArray[i];
i++;
}else{
if(isRepeated(mergeArray, secondArray[j]))
mergeArray[k++] = secondArray[j];
j++;
}
while(i < firstArray.length){
if(isRepeated(mergeArray, firstArray[i]))
mergeArray[k++] = firstArray[i];
i++;
}
while (j < secondArray.length){
if(isRepeated(mergeArray, secondArray[j]))
mergeArray[k++] = secondArray[j];
j++;
}
}
return bubbleSort(mergeArray, mergeArray.length);
}
public static boolean isRepeated(int[] mergeArray, int number) {
boolean repeated = true;
for(int i = 0; i < mergeArray.length; i ++){
if(mergeArray[i] == number){
countRepeated++;
repeated = false;
break;
}
}
return repeated;
}
private static int[] bubbleSort(int[] array, int size) {
if(size == 1){
int[] arrayCleaned = new int[array.length - countRepeated];
for(int i = 0; i < array.length; i++){
if(array[i] != 0)
arrayCleaned[i] = array[i];
}
return arrayCleaned;
}
int current;
for(int i = 0; i < size - 1; i ++){
if(array[i] < array[i + 1]){
current = array[i];
array[i] = array[i + 1];
array[i + 1] = current;
}
}
return bubbleSort(array, size - 1);
}
This is my solution using java
- rovalos May 17, 2016