leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

1414.cpp (559B)


      1 class Solution {
      2     typedef array<int, 45> cache_t;
      3     static inline constexpr const cache_t cache = []() constexpr -> cache_t {
      4         cache_t cache;
      5         cache[0] = cache[1] = 1;
      6         for (int i = 2; i < cache.size(); i++)
      7             cache[i] = cache[i - 1] + cache[i - 2];
      8         return cache;
      9     }();
     10 
     11   public:
     12     int findMinFibonacciNumbers(int k) {
     13         int res = 0;
     14         for (auto it = upper_bound(begin(cache), end(cache), k); k > 0; it--)
     15             while (k >= *it)
     16                 k -= *it, res++;
     17         return res;
     18     }
     19 };