Skip to main content
added 18 characters in body
Source Link
E. Chan-López
  • 33.7k
  • 3
  • 34
  • 54

Another way, using Query and SelectFirst:

f[mat_] := mat // Query[SelectFirst[#[[2]] == Min[mat[[All, 2]]] &], 1] 

Testing f:

test = {{15, 11}, {5, 14}, {2, 13}, {3, 5}, {13, 15}, {6, 10}, {8, 15}, {0, 2},{10, 13}, {2, 5}}; t={{0, 10, 4, 19, 1, 3, 2}, {3, 18, 1, 12, 7, 14, 16}, {11, 8, 17, 18, 7, 12, 17}, {12, 16, 0, 16, 8, 3, 11}, {8, 2, 14, 3, 18, 7, 6}, {5, 15, 14, 9, 9, 3, 2}, {9, 10, 17, 6, 19, 14, 0}, {3, 5, 18, 11, 10, 12, 6}, {7, 13, 7, 13, 16, 14, 16}, {14, 12, 4, 19, 18, 20, 7}, {18,3, 19, 15, 16, 18, 8}, {1, 18, 5, 11, 3, 5, 2}, {16, 11, 7, 11, 2, 2, 19}, {1, 8, 7, 7, 15, 1, 20}, {11, 9, 2, 7, 2, 18, 4}}; f /@ {test, t} (*{0, 8}*) 

Another way, using Query:

f[mat_] := mat // Query[SelectFirst[#[[2]] == Min[mat[[All, 2]]] &], 1] 

Testing f:

test = {{15, 11}, {5, 14}, {2, 13}, {3, 5}, {13, 15}, {6, 10}, {8, 15}, {0, 2},{10, 13}, {2, 5}}; t={{0, 10, 4, 19, 1, 3, 2}, {3, 18, 1, 12, 7, 14, 16}, {11, 8, 17, 18, 7, 12, 17}, {12, 16, 0, 16, 8, 3, 11}, {8, 2, 14, 3, 18, 7, 6}, {5, 15, 14, 9, 9, 3, 2}, {9, 10, 17, 6, 19, 14, 0}, {3, 5, 18, 11, 10, 12, 6}, {7, 13, 7, 13, 16, 14, 16}, {14, 12, 4, 19, 18, 20, 7}, {18,3, 19, 15, 16, 18, 8}, {1, 18, 5, 11, 3, 5, 2}, {16, 11, 7, 11, 2, 2, 19}, {1, 8, 7, 7, 15, 1, 20}, {11, 9, 2, 7, 2, 18, 4}}; f /@ {test, t} (*{0, 8}*) 

Another way, using Query and SelectFirst:

f[mat_] := mat // Query[SelectFirst[#[[2]] == Min[mat[[All, 2]]] &], 1] 

Testing f:

test = {{15, 11}, {5, 14}, {2, 13}, {3, 5}, {13, 15}, {6, 10}, {8, 15}, {0, 2},{10, 13}, {2, 5}}; t={{0, 10, 4, 19, 1, 3, 2}, {3, 18, 1, 12, 7, 14, 16}, {11, 8, 17, 18, 7, 12, 17}, {12, 16, 0, 16, 8, 3, 11}, {8, 2, 14, 3, 18, 7, 6}, {5, 15, 14, 9, 9, 3, 2}, {9, 10, 17, 6, 19, 14, 0}, {3, 5, 18, 11, 10, 12, 6}, {7, 13, 7, 13, 16, 14, 16}, {14, 12, 4, 19, 18, 20, 7}, {18,3, 19, 15, 16, 18, 8}, {1, 18, 5, 11, 3, 5, 2}, {16, 11, 7, 11, 2, 2, 19}, {1, 8, 7, 7, 15, 1, 20}, {11, 9, 2, 7, 2, 18, 4}}; f /@ {test, t} (*{0, 8}*) 
added 2 characters in body
Source Link
E. Chan-López
  • 33.7k
  • 3
  • 34
  • 54

Another way, using Query:

f[mat_] := mat // Query[SelectFirst[#[[2]] == Min[mat[[All, 2]]] &], 1] 

Testing f:

test = {{15, 11}, {5, 14}, {2, 13}, {3, 5}, {13, 15}, {6, 10}, {8, 15}, {0, 2},{10, 13}, {2, 5}}; t={{0, 10, 4, 19, 1, 3, 2}, {3, 18, 1, 12, 7, 14, 16}, {11, 8, 17, 18, 7, 12, 17}, {12, 16, 0, 16, 8, 3, 11}, {8, 2, 14, 3, 18, 7, 6}, {5, 15, 14, 9, 9, 3, 2}, {9, 10, 17, 6, 19, 14, 0}, {3, 5, 18, 11, 10, 12, 6}, {7, 13, 7, 13, 16, 14, 16}, {14, 12, 4, 19, 18, 20, 7}, {18,3, 19, 15, 16, 18, 8}, {1, 18, 5, 11, 3, 5, 2}, {16, 11, 7, 11, 2, 2, 19}, {1, 8, 7, 7, 15, 1, 20}, {11, 9, 2, 7, 2, 18, 4}};   f /@ {test, t} (*{0, 8}*) 

Another way, using Query:

f[mat_] := mat // Query[SelectFirst[#[[2]] == Min[mat[[All, 2]]] &], 1] 

Testing f:

test = {{15, 11}, {5, 14}, {2, 13}, {3, 5}, {13, 15}, {6, 10}, {8, 15}, {0, 2},{10, 13}, {2, 5}}; t={{0, 10, 4, 19, 1, 3, 2}, {3, 18, 1, 12, 7, 14, 16}, {11, 8, 17, 18, 7, 12, 17}, {12, 16, 0, 16, 8, 3, 11}, {8, 2, 14, 3, 18, 7, 6}, {5, 15, 14, 9, 9, 3, 2}, {9, 10, 17, 6, 19, 14, 0}, {3, 5, 18, 11, 10, 12, 6}, {7, 13, 7, 13, 16, 14, 16}, {14, 12, 4, 19, 18, 20, 7}, {18,3, 19, 15, 16, 18, 8}, {1, 18, 5, 11, 3, 5, 2}, {16, 11, 7, 11, 2, 2, 19}, {1, 8, 7, 7, 15, 1, 20}, {11, 9, 2, 7, 2, 18, 4}}; f /@ {test, t} (*{0, 8}*) 

Another way, using Query:

f[mat_] := mat // Query[SelectFirst[#[[2]] == Min[mat[[All, 2]]] &], 1] 

Testing f:

test = {{15, 11}, {5, 14}, {2, 13}, {3, 5}, {13, 15}, {6, 10}, {8, 15}, {0, 2},{10, 13}, {2, 5}}; t={{0, 10, 4, 19, 1, 3, 2}, {3, 18, 1, 12, 7, 14, 16}, {11, 8, 17, 18, 7, 12, 17}, {12, 16, 0, 16, 8, 3, 11}, {8, 2, 14, 3, 18, 7, 6}, {5, 15, 14, 9, 9, 3, 2}, {9, 10, 17, 6, 19, 14, 0}, {3, 5, 18, 11, 10, 12, 6}, {7, 13, 7, 13, 16, 14, 16}, {14, 12, 4, 19, 18, 20, 7}, {18,3, 19, 15, 16, 18, 8}, {1, 18, 5, 11, 3, 5, 2}, {16, 11, 7, 11, 2, 2, 19}, {1, 8, 7, 7, 15, 1, 20}, {11, 9, 2, 7, 2, 18, 4}};   f /@ {test, t} (*{0, 8}*) 
Source Link
E. Chan-López
  • 33.7k
  • 3
  • 34
  • 54

Another way, using Query:

f[mat_] := mat // Query[SelectFirst[#[[2]] == Min[mat[[All, 2]]] &], 1] 

Testing f:

test = {{15, 11}, {5, 14}, {2, 13}, {3, 5}, {13, 15}, {6, 10}, {8, 15}, {0, 2},{10, 13}, {2, 5}}; t={{0, 10, 4, 19, 1, 3, 2}, {3, 18, 1, 12, 7, 14, 16}, {11, 8, 17, 18, 7, 12, 17}, {12, 16, 0, 16, 8, 3, 11}, {8, 2, 14, 3, 18, 7, 6}, {5, 15, 14, 9, 9, 3, 2}, {9, 10, 17, 6, 19, 14, 0}, {3, 5, 18, 11, 10, 12, 6}, {7, 13, 7, 13, 16, 14, 16}, {14, 12, 4, 19, 18, 20, 7}, {18,3, 19, 15, 16, 18, 8}, {1, 18, 5, 11, 3, 5, 2}, {16, 11, 7, 11, 2, 2, 19}, {1, 8, 7, 7, 15, 1, 20}, {11, 9, 2, 7, 2, 18, 4}}; f /@ {test, t} (*{0, 8}*)