2022.2.3-----leetcode.1414

public int findMinFibonacciNumbers(int k) {
        List<Integer> f = new ArrayList<Integer>();
        f.add(1);//从第二个数开始记录斐波那契数列
        int a = 1, b = 1;
        //直到最大不超过k的数出现
        while (a + b <= k) {
            int c = a + b;
            f.add(c);
            a = b;
            b = c;
        }
        int ans = 0;
        //倒序查找最大不超过k的数,k减去该数,次数加1
        for (int i = f.size() - 1; i >= 0 && k > 0; i--) {
            int num = f.get(i);
            if (k >= num) {
                k -= num;
                ans++;
            }
        }
        return ans;
    }

上一篇:vue2 过滤器


下一篇:Vue