第一题为什么通过率只有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) 回帖