public static int[] getRains(int[] rains){         if (rains==null||rains.length==0) {             return new int[0];         }         int len=rains.length;         int[] res=new int[len];         Arrays.fill(res,-1);         Set<Integer> day=new HashSet<>();         for (int i = 0; i < len; i++) {             if (rains[i] != 0) {                 if (day.contains(rains[i])) {                     return new int[0];                 } else {                     day.add(rains[i]);                 }             } else {                 for (int j = i+1; j < len; j++) {                     if (day.contains(rains[j])) {                         res[i] = rains[j];                         day.remove(rains[j]);                         break;                     }                 }             }         }         return res;     }