using System.Collections.Generic;
private Dictionary<int, List<int>> numIndices;
private List<int> numsList;
public Solution(int[] nums) {
numIndices = new Dictionary<int, List<int>>();
numsList = new List<int>();
for(int i = 0; i < nums.Length; i++)
if(!numIndices.ContainsKey(nums[i]))
numIndices.Add(nums[i], new List<int>());
numIndices[nums[i]].Add(i);
public int Pick(int target) {
int n = numIndices[target].Count;
var res = numIndices[target];
Console.WriteLine(res[rnd.Next(n)]);
public static void Main()
Solution solution = new Solution(new int[] {1, 2, 3, 3, 3});
Console.WriteLine("Hello World");