一个算法三种实现方法
import java.util.Arrays;
import java.util.Scanner;
public class Sixone {
public static void main(String[] args) {
int n , m, count = 0, a = 0, b = 0;
Scanner s = new Scanner(System.in);
n = s.nextInt();
int [] h = new int[n];
for(int i = 0; i < n; i++) {
h[i] = s.nextInt();
}
m = s.nextInt();
int [] w = new int[m];
for(int i = 0; i < m; i++) {
w[i] = s.nextInt();
}
Arrays.sort(h);
Arrays.sort(w);
// 方法一
while(a < h.length && b < w.length) {
if(w[b] >= h[a]) {
count++;
a++;
b++;
}
else {
b++;
}
}
/* 方法二
* for(; a<h.length && b<w.length; ) {
if(w[b] >= h[a]) {
count++;
a++;
b++;
}
else {
b++;
}
}
//方法三
int f = n - 1;
for(int j = m - 1; j >= 0; j--) {
for(int i = f; i >= 0; i--)
if(w[j] >= h[i]) {
count++;
f = i - 1;
break;
}
}
*/
System.out.println(count);
}
}