Solution in C
Code
# Code
```c []
int countGoodRectangles(int** rectangles, int rectanglesSize, int* rectanglesColSize) {
    int max = 0;

    int* arr = malloc(sizeof(int) * rectanglesSize);
    for (int i = 0; i < rectanglesSize; i++) {
        if (rectangles[i][0] < rectangles[i][1])
            arr[i] = rectangles[i][0];
        else
            arr[i] = rectangles[i][1];

        if (max < arr[i])
            max = arr[i];
    }

    int count = 0;
    for (int i = 0; i < rectanglesSize; i++) {
        if (max == arr[i]) count++;
    }
    free(arr);
    return count;
}
```
```c []
int countGoodRectangles(int** rectangles, int rectanglesSize, int* rectanglesColSize) {
    int max = 0;
    for (int i = 0; i < rectanglesSize; i++) {
        if (rectangles[i][0] > rectangles[i][1]) {
            rectangles[i][0] = rectangles[i][1];
        }
        if (max < rectangles[i][0]) {
            max = rectangles[i][0];
        }
    }
    int count = 0;
    for (int i = 0; i < rectanglesSize; i++) {
        if (max == rectangles[i][0])
            count++;
    }
    return count;
}
```
['Array', 'C', 'Counting']