-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKeep_Multiplying_Found_Values_By_Two.py
45 lines (32 loc) · 1.33 KB
/
Keep_Multiplying_Found_Values_By_Two.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# You are given an array of integers nums. You are also given an integer original which is the first number that needs to be searched for in nums.
# You then do the following steps:
# If original is found in nums, multiply it by two (i.e., set original = 2 * original).
# Otherwise, stop the process.
# Repeat this process with the new number as long as you keep finding the number.
# Return the final value of original.
# Example 1:
# Input: nums = [5,3,6,1,12], original = 3
# Output: 24
# Explanation:
# - 3 is found in nums. 3 is multiplied by 2 to obtain 6.
# - 6 is found in nums. 6 is multiplied by 2 to obtain 12.
# - 12 is found in nums. 12 is multiplied by 2 to obtain 24.
# - 24 is not found in nums. Thus, 24 is returned.
# Example 2:
# Input: nums = [2,7,9], original = 4
# Output: 4
# Explanation:
# - 4 is not found in nums. Thus, 4 is returned.
# Constraints:
# 1 <= nums.length <= 1000
# 1 <= nums[i], original <= 1000
class Solution:
def findFinalValue(self, nums: List[int], original: int) -> int:
# keep the process until we don;t have the orignial in the nums list
while True:
# if original is in nums, reset its value
if original in nums:
original *= 2
# if not, return original
else:
return original