Dart Solution
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```dart []\nclass Solution {\n int winningPlayerCount(int n, List<List<int>> pick) {\n  int numberOfWinners = 0;\n  // Convert the list to a 2D array map with player keys and their picks\n  Map<int, List<int>> result = {};\n  for (var pair in pick) {\n    int key = pair[0];\n    int value = pair[1];\n\n    if (!result.containsKey(key)) {\n      result[key] = [];\n    }\n    result[key]!.add(value);\n  }\n\n  // Check for automatic win condition for key 0\n  if (result.containsKey(0)) {\n    numberOfWinners++;\n    result.remove(0);\n  }\n\n  // Check for duplicates in picks for key 1\n  if (result.containsKey(1)) {\n    if (result[1]!.length != result[1]!.toSet().length) {\n      numberOfWinners++;\n    }\n    result.remove(1);\n  }\n\n  // Evaluate other players\n  for (var entry in result.entries) {\n    entry.value.sort();\n    int count = 0;\n    for (int j = 1; j < entry.value.length; j++) {\n      if (entry.value[j] == entry.value[j - 1]) {\n      count = (count == 0) ? 2 : count += 1;\n        if (count > entry.key) {\n          numberOfWinners++;\n          break;\n        }\n      } else {\n        count = 0;\n      }\n    }\n  }\n\n  return numberOfWinners;\n}\n\n}\n```
['Dart']