第一种解法是我当时没想好就用了结果卡了下搞了30多分钟最后放弃这个题目的面试。后面仔细想好思路,只用5分钟,就可以搞定的:
package Interview;
//求int类型二维数组中的最小值
import java.util.ArrayList;
import java.util.Collections;
public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] arr={{1,2},{3,4,0},{-2,3,7}};
int al1=select(arr);
System.out.println("最小元素是: "+al1);
}
public static int select(int[][] arr){
ArrayList st=new ArrayList();
for(int i=0;i<arr.length;i++){
int[] arr1=arr;
selection(arr1);
st.add(arr1[0]);
}
Collections.sort(st);
return (int)st.get(0);
}
public static void selection(int[] arr){
for(int x=0;x<arr.length;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int temp =arr[y];
arr[y]=arr[x];
arr[x]= temp;
}
}
}
}
public static void sop(int[] arr){
for(int a:arr){
System.out.print(a);
}
}
}
第二种:
package Interview;
//求int类型二维数组中的最小值
import java.util.ArrayList;
import java.util.Collections;
public class Test2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList arr=new ArrayList();
int[][] c={{1,3,4},{8,0,3},{6,8,5}};
so1(c,arr);
System.out.println("最小数是:"+arr.get(0));
}
public static void so1(int[][] a,ArrayList arr){
for(int i=0;i<a.length-1;i++){
for(int x=0;x<a.length;x++){
arr.add(a[x]);
}
}
Collections.sort(arr);
}
}
|
|