Наименьшее значение X, отсутствующее в данном векторе, путем многократного поиска X * K
Учитывая вектор vec и целые числа X и K , задача состоит в том, чтобы продолжать заменять X произведением X и K каждый раз, когда X находится в векторе. Вернуть конечный продукт, которого нет в векторе.
Examples:
Input: vec = {1, 2, 6, 10}, X = 2, K = 3
Output: 18
Explanation:
Since the original X is 2 which is present in the vector, multiply it by 3 (2*3=6) and store it in X(=6).
Now since 6 also exists in the vector, again multiply it by 3(6*3=18), and store it in X(=18).
Since 18 does not exists in the given vector, final value of X which is not present in the vector = 18.Input: vec={1, 4, 3, 7, 9, 12, 6, 10}, X = 1, K=3
Output: 27
Explanation:
Since the original X is 1 which is present in the vector, multiply it by 3(1*3=3) and store it in X(=3).
Now since 3 also exists in the vector, again multiply it by 3(3*3=9), and store it in X(=9).
Now since 9 also exists in the vector, again multiply it by 3(9*3=27), and store it in X(=27).
Since 27 does not exists in the given vector, final value of X which is not present in the vector = 27.
Наивный подход: эту проблему можно решить, многократно находя X в векторе и заменяя X на X*K каждый раз, когда он найден.
Выполните следующие шаги, чтобы понять, как:
- Пройдите массив и проверьте, присутствует ли X в массиве или нет.
- Если найдено, замените X на X*K и повторите шаг 1.
- Если не найдено, разорвите петлю.
- В конце цикла верните окончательное значение X.
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(N 2 )
Вспомогательное пространство: O(1)