Ray-Yan 2016-03-03 11:40 采纳率: 100%
浏览 1345
已采纳

一个简单的小算法求助

找出一个数组中既不是最大的数也不是最小的数,我的java代码如下(错误的):

 class NotMM{
    public void NotMM(int arr[]){
        int mid = arr[0];
        for(int i=0;i<arr.length-2;i++){
            if(arr[i+1]>arr[i]&&arr[i+1]<arr[i+2]){
                mid = arr[i+1];
            }else if(arr[i+1]<arr[i]&&arr[i+1]>arr[i+2]){
                mid = arr[i+1];
            }else if(arr[i]<arr[i+1]&&arr[i]>arr[i+2]){
                mid = arr[i];
            }else if(arr[i]>arr[i+1]&&arr[i]<arr[i+2]){
                mid = arr[i];
            }else{
                mid = arr[i+2];
            }
            System.out.println(mid);
        }
    }
}

public class Ex1_4 {
    public static void main(String[] args) {
        NotMM m = new NotMM();
        int arr[] = new int[]{2,4,6,1,7,5,3,8};
        m.NotMM(arr);
    }
}

请大侠改正,用简单的算法,谢谢!

  • 写回答

8条回答 默认 最新

  • 东风玖哥 2016-03-04 03:22
    关注

    排序之后掐头去尾,然后随机选一个

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决