是我的思路有问题吗,求大佬指点     public static void caseNum(int n, long[] num, long[] cap) {         Arrays.sort(num); // 人数         Arrays.sort(cap); // 容量         long result = 1;         long count = 0;         for (int car = 0, i = 0, j = 0; car < n && i< n && j < n;) {             while (i < n && cap[j] >= num[i])  {                 i++;                 count++;             }             if (count > (n - car)) {                 long a = n - car;                 while (a > 0) {                     a = a % 100000007;                     result = (result * (a)) % 100000007;                     a--;                 }                 break;             } else {                 result = result * ((count - car) % 100000007) % 100000007;             }             j++;             car++;         }         System.out.println(result);     }