I have written the following code but it looks to be far from efficient.
//Find largest in tempRankingData
int largestIntempRankingData = tempRankingData[0, 0];
for (int i = 0; i < count; i++)
{
    for (int j = 0; j < count; j++)
    {
        if (tempRankingData[i, j] > largestIntempRankingData)
        {
            largestIntempRankingData = tempRankingData[i, j];
        }
    }
}
//Find position of largest in tempRankingData
List<string> positionLargestIntempRankingData = new List<string>();
for (int i = 0; i < count; i++)
{
    for (int j = 0; j < count; j++)
    {
        if (tempRankingData[i, j] == largestIntempRankingData)
        {
            positionLargestIntempRankingData.Add(i + "," + j);
        }
    }
}
//Find largest in each column
int largestInColumn = 0;
List<string> positionOfLargestInColumn = new List<string>();
Dictionary<int, List<string>> position = new Dictionary<int, List<string>>();
for (int i = 0; i < count; i++)
{
    largestInColumn = tempRankingData[0, i];
    positionOfLargestInColumn = new List<string>();
    for (int j = 0; j < count; j++)
    {
        if (tempRankingData[j, i] > largestInColumn)
        {
            largestInColumn = tempRankingData[j, i];
        }
    }
    for (int j = 0; j < count; j++)
    {
        if (tempRankingData[j, i] == largestInColumn)
        {
            positionOfLargestInColumn.Add(j + "," + i);
        }
    }
    position.Add(i, positionOfLargestInColumn);
}
So, I wanted to check about the most efficient way to do this.
 
     
     
     
    