解决本题需求把握以下两个条件:
-
累加过程中确保当时值大于等于 1
-
终究成果应该是一个正整数
时刻复杂度 O(n),空间复杂度 O(1)。
第一步:计算出不大于 k 值的斐波那契数列。
第二 n J ^ ~ )步:利用贪心策略,优p ? w @ o [ o m先挑y a ! Z选最大的斐波那契数。
时刻复杂度 O(n),空间复杂度 O(n)。
本道题中 n 的规模是 [1, 10],所以完全能够按照字典序 BFS 出所有情况。
时刻复杂度 O(2^w e i R $ . Tn),空间复杂度 O(n)。
本道题采用动态规划求解。
界说状况:dp[i] 表@ ( V . K | / h W示从 i 到 n(字符串末尾)能够输出的计划数。
状况转移方程:dp[i] = dp[i + 1] + dp[i + 2] … + dT ) J :p[i + j] (i + j <= n)。
对于恣意 dp[i + j] 需求满意以下两个条件:
-
s[q U ) Wi] 不为 0
-
Number.par_ X U P E sseInt(s[i, j]) 不大于 k
时刻复杂度 O(n^2),空间复杂度 O(n)。
-
前端工程师的 LeetCode 之旅 — 夜a ` ] & V *喵 23
-
前端工程师的 LeetCode 之旅 — 夜喵 22
-
前端工程师的 LeetCode 之旅 — 夜喵 21
-
前端工程师的 LeetCode 之旅 — 夜喵 20
-
JavaScript AC solutions to problems on LeetCode