leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
1675.cpp (607B)
0 class Solution {
1 public:
2 int minimumDeviation(vector<int> &nums) {
3 int res = INT_MAX, mini = INT_MAX;
4 for (auto &num : nums) {
5 num = num % 2 ? num * 2 : num;
6 mini = min(mini, num);
7 }
9 make_heap(begin(nums), end(nums));
10 while (nums.front() % 2 == 0) {
11 res = min(res, nums.front() - mini);
12 mini = min(mini, nums.front() / 2);
13 pop_heap(begin(nums), end(nums));
14 nums.back() /= 2;
15 push_heap(begin(nums), end(nums));
16 }
18 return min(res, nums.front() - mini);
19 }
20 };