Учитывая односвязный список, вернуть значение случайного узла из связанного списка. Каждый узел должен иметь одинаковую вероятность быть выбранным.
Реализуйте класс Solution
:
Solution(ListNode head)
Инициализирует объект целочисленным массивом nums.int getRandom()
Случайным образом выбирает узел из списка и возвращает его значение. Все узлы списка должны быть выбраны с равной вероятностью.
Пример 1:
Input ["Solution", "getRandom", "getRandom", "getRandom", "getRandom", "getRandom"] [[[1, 2, 3]], [], [], [], [], []] Output [null, 1, 3, 2, 2, 3] Explanation Solution solution = new Solution([1, 2, 3]); solution.getRandom(); // return 1 solution.getRandom(); // return 3 solution.getRandom(); // return 2 solution.getRandom(); // return 2 solution.getRandom(); // return 3 // getRandom() should return either 1, 2, or 3 randomly. Each element should have equal probability of returning.
Решение:
Заключение:
Это проблема от 07 января 2022 г. — проблема дня на Leetcode, если вы хотите больше, пожалуйста, следите за обновлениями.
Прокомментируйте свои ценные мысли или любые предложения по модификации решения.