leetcode

Solution 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 } 8 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 } 17 18 return min(res, nums.front() - mini); 19 } 20 };