剑指Offer 14.剪绳子(LeetCode 343.整数拆分)
题目描述
把一根绳子剪成多段,并且使得每段的长度乘积最大。
1 | n = 2 |
解题思路
贪心
尽可能多剪长度为 3 的绳子,并且不允许有长度为 1 的绳子出现。如果出现了,就从已经切好长度为 3 的绳子中拿出一段与长度为 1 的绳子重新组合,把它们切成两段长度为 2 的绳子。
哈希表使用 O(N) 空间复杂度存储数据,并且以 O(1) 时间复杂度求解问题。
535.TinyURL 的加密与解密
535.Encode and Decode TinyURL (Medium)