竞赛讨论区 > 求指教java
头像
可乐星
编辑于 2020-08-15 22:41
+ 关注

求指教java

第一题为什么通过率只有40%,在题目给的测试用例都返回对了,看了几个满分吧的通过用例对比了下,还是不太懂,请大佬指点下

import java.util.*;
public class Solution {
    /**
     * 
     * @param arr int整型一维数组 
     * @return int整型
     */
      public int Answerofjudge (int[] arr) {
        // write code here
        int n=arr.length;
        //int []arr1=new int[n];
        Arrays.sort(arr);
        double mid;
        if(arr.length%2==0){
            int temp=arr[arr.length/2];
            int temp1=arr[arr.length/2-1];
            int temp2=temp+temp1;
            mid=(double)(Math.round(temp2*100))/2;
            mid=mid/100;
        //    mid=temp2*1.0/2;
        }else{
         mid=arr[arr.length/2];}
        double ave;
        int sum=0;
        for(int i=0;i<arr.length;i++){
            sum=arr[i]+sum;
        }

        ave=(double)(Math.round(sum*100))/arr.length;
        ave=ave/100; 
  //     ave=sum*1.0/arr.length;
        //System.out.println("ave+ "+ave+"  mid"+mid);

        if(ave==mid){
            return 0;
        }
        else if(ave>mid){
            return -1;
        }
        else {
            return 1;
        }

    }
}

刚开始用的math.round,后来看了通过用例学习了下,用注释里的*1.0,然后还是40%通过率,看了几个通过用例还是不知道问题出在哪里,请大佬指点下。

全部评论

(1) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐