
minDivision
Cho một dãy số nguyên a
. Hãy đưa ra số lần chia nhỏ nhất để dãy số đó chỉ chứa toàn số lẻ biết: Mỗi lần chia bạn được phép chia những phần tử chẵn có cùng giá trị cho 2
.
Ví dụ:
- Với
a = [8, 3, 10, 4]
thìminDivision(a) = 4
.
Giải thích:
Lần1
chia các phần tử có giá trị10
cho2
,a = [8, 3, 5, 4]
.
Lần2
chia các phần tử có giá trị8
cho2
,a = [4, 3, 5, 4]
.
Lần3
chia các phần tử có giá trị4
cho2
,a = [2, 3, 5, 2]
.
Lần4
chia các phần tử có giá trị2
cho2
,a = [1, 3, 5, 1]
vàa
đã chứa toàn số lẻ!. - Với
a = [1, 2, 3, 4]
thìminDivision(a) = 2
.
Đầu vào/Đầu ra:
- [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
- [Đầu vào] array of integer a.
1 ≤ size a ≤ 105
.1 ≤ a[i] ≤ 107
. - [Đầu ra] integer.
Số lần chia ít nhất đề dãy chứa toàn số lẻ.
Post Comment