2015frq_ipynb_2_
private String recombine(String word1, String word2){
return word1.substring(0,word1.length()/2)+word2.substring(word2.length()/2,word2.length());
}
System.out.println(recombine("hello","World"));
herld
b.
import java.util.Arrays;
private String[] mixedWords(String[] words){
String[] temp = new String[words.length];
for(int i = 0; i< words.length; i+=2){
temp[i] = recombine(words[i],words[i+1]);
temp[i+1] = recombine(words[i+1],words[i]);
}
return temp;
}
String[] strings = new String[4];
strings[0] = "apple";
strings[1] = "pear";
strings[2] = "this";
strings[3] = "cat";
System.out.println(Arrays.toString(mixedWords(strings)));
[apar, peple, that, cis]
Question 2
a.
public static int getPeakIndex(int[] array){
int index = -1;
int maxValue = Integer.MIN_VALUE;
for(int i = 1; i<array.length-1;i++){
int value = array[i];
if(maxValue < value && value > array[i-1] && value > array[i+1]){
index = i;
maxValue = value;
}
}
//peak should not be at the end
if(array[array.length-1]>maxValue){
index = -1;
}
return index;
}
int[] input = new int[5];
input[0] = 99;
input[1] = 33;
input[2] = 55;
input[3] = 77;
input[4] = 55;
System.out.println(getPeakIndex(input));
input[0] = 99;
input[1] = 33;
input[2] = 55;
input[3] = 77;
input[4] = 120;
System.out.println(getPeakIndex(input));
3
-1
b.
public static boolean isMountain(int[] array){
int peak = getPeakIndex(array);
if(peak == -1){return false;};
for (int i = peak-1; i>= 0; i--){
if(array[i+1] < array[i]){
return false;
}
}
for (int i = peak+1; i< array.length; i++){
if(array[i-1] < array[i]){
return false;
}
}
return true;
}
int[] input1 = new int[5];
input1[0] = 99;
input1[1] = 33;
input1[2] = 55;
input1[3] = 77;
input1[4] = 55;
System.out.println(isMountain(input1));
input1[0] = 99;
input1[1] = 33;
input1[2] = 55;
input1[3] = 77;
input1[4] = 120;
System.out.println(isMountain(input1));
input1[0] = 11;
input1[1] = 33;
input1[2] = 55;
input1[3] = 77;
input1[4] = 55;
System.out.println(isMountain(input1));
false
false
true