读书人

编程小算法解决办法

发布时间: 2012-03-24 14:00:46 作者: rapoo

编程小算法
今天碰到一道面试题编写程序:输入一个数组,最大值和第一个交换,最小值和最后一个交换,最后输出数组。谁能帮忙写下主算法。

[解决办法]
写的不好,只是参考

Java code
public class Test {        public static int[] change(int[] a){            int max = a[0];            int min = a[0];            for(int i=1;i<a.length;i++){                if(a[i]>max){                    max = a[i];                }                if(a[i]<min){                    min = a[i];                }            }            a[0] = max;            a[a.length - 1]= min;            return a;        }        public static void main(String args[]){            int[] b = {3,2,1,5,4};            int[] c = change(b);            for(int j=0;j<c.length;j++){                System.out.print(c[j]);            }        }}
[解决办法]
感觉就是一楼实现的样子
[解决办法]
一楼果断没有实现交换。我来改改。
Java code
public class Test1 {        public static int[] change(int[] a){            int max = 0;            int min = 0;            int temp;                        for(int i=1;i<a.length;i++){                if(a[i]>a[max]){                    max = i;                }                if(a[i]<a[min]){                    min = i;                }            }                        temp=a[0];            a[0] = a[max];            a[max] = temp;                        temp=a[a.length - 1];            a[a.length - 1]= a[min];            a[min]=temp;                        return a;        }        public static void main(String args[]){            int[] b = {3,2,1,5,4};            int[] c = change(b);            for(int j=0;j<c.length;j++){                System.out.print(c[j]);            }        }}
[解决办法]
探讨
一楼果断没有实现交换。我来改改。

Java code



public class Test1 {

public static int[] change(int[] a){
int max = 0;
int min = 0;
int temp;

……

[解决办法]
你先把最大最小的找出来 貌似这个很好找吧 然后就是个替换
[解决办法]
三楼的有点问题,改成下面的即可
Java code
for(int i=1;i<a.length;i++){                if(a[i]>=a[max]){                    max = i;                }                if(a[i]<=a[min]){                    min = i;                }            }
[解决办法]
java的话,用集合框架非常简单
[解决办法]
做过这个题目....3L就是答案,不过要考虑下最小值是否为第一位...
[解决办法]
探讨

一楼果断没有实现交换。我来改改。
Java code


public class Test1 {

public static int[] change(int[] a){
int max = 0;
int min = 0;
int temp;

for(……

[解决办法]
探讨

一楼果断没有实现交换。我来改改。
Java code


public class Test1 {

public static int[] change(int[] a){
int max = 0;
int min = 0;
int temp;

for(……

读书人网 >J2EE开发

热点推荐