http://www.topcoder.com/stat?c=problem_statement&pm=2923&rd=5854 Problem Statement | |||||||||||||
A group of people stand before you arranged in rows and columns. Looking from above, they form an R by C rectangle of people. You will be given a String[] people containing the height of each person. Elements of people correspond to rows in the rectangle. Each element contains a space-delimited list of integers representing the heights of the people in that row. Your job is to return 2 specific heights in a int[]. The first is computed by finding the shortest person in each row, and then finding the tallest person among them (the "tallest-of-the-shortest"). The second is computed by finding the tallest person in each column, and then finding the shortest person among them (the "shortest-of-the-tallest"). | |||||||||||||
Definition | |||||||||||||
| |||||||||||||
Constraints | |||||||||||||
- | people will contain between 2 and 50 elements inclusive. | ||||||||||||
- | Each element of people will contain between 3 and 50 characters inclusive. | ||||||||||||
- | Each element of people will be a single space-delimited list of positive integers such that: 1) Each positive integer is between 1 and 1000 inclusive with no extra leading zeros. 2) Each element contains the same number of integers. 3) Each element contains at least 2 positive integers. 4) Each element does not contain leading or trailing whitespace. | ||||||||||||
Examples | |||||||||||||
0) | |||||||||||||
| |||||||||||||
1) | |||||||||||||
| |||||||||||||
2) | |||||||||||||
|
My Solution:
public class TallPeople{
public int[] getPeople(String[] people){
int[][] a = new int[people.length][people[0].split(" ").length];
int row=people.length,col=people[0].split(" ").length;
for (int i=0;i< spl =" people[i].split(" j="0;" tallofshort="-1,shortOfTall="Integer.MAX_VALUE;" i="0;i<" s="a[i][0];" j="0;j<" s=" s<" tallofshort="s;" i="0;i<" s="a[0][i];" j="0;j<" s=" s"> a[j][i]?s:a[j][i];
}
if (shortOfTall > s) shortOfTall=s;
}
System.out.println(tallOfShort+" "+shortOfTall);
return new int[]{tallOfShort,shortOfTall};
}
public static void main(String[] args){
TallPeople tp = new TallPeople();
tp.getPeople(new String[]{"9 2 3","4 8 7"});
tp.getPeople(new String[]{"1 2","4 5","3 6"});
tp.getPeople(new String[]{"1 1","1 1"});
}
}
No comments:
Post a Comment