Step 1:
write a class to wrap such objects, like this
class Wrapper
{
object obj;
int arrayIndex; // Store which array such object belongs to
}
Step 2:
Define its comparing rules by implementing IComparable<T> interface.
Comparing Rule: Compare by Wrapper.obj.
Step 3:
Read from those arrays, make the wrapper for them. Store those objects in a ArrayList.
Step 4:
Sort the ArrayList. ArrayList.Sort().
Step 5:
Count each object one by one.
If the number of certain object is >= N, Then check whether these objects belongs to each array by checking those Wrapper's arrayIndex.
If so, then it is target you want to find.