2
public int unhappyFriends(int n, int[][] preferences, int[][] pairs) {3
int[][] rankings = new int[n][n]; // smaller the value, higher the preference4
int[] pairedWith = new int[n];5
for (int i = 0; i < n; i++) {6
for (int rank = 0; rank < n - 1; rank++) {7
int j = preferences[i][rank];8
rankings[i][j] = rank; // person "i" views person "j" with rank12
for (int[] pair : pairs) {13
int a = pair[0], b = pair[1];17
for (int a = 0; a < n; a++) {18
// "a" prefers someone else19
if (rankings[a][pairedWith[a]] != 0) {20
for (int b = 0; b < n; b++) {21
// "b" prefers to be with "a" over their current partner22
// "a" prefers to be with "b" over their current partner24
&& rankings[b][a] < rankings[b][pairedWith[b]]25
&& rankings[a][b] < rankings[a][pairedWith[a]]) {