摘要:
给你两个长度都为 n 的字符串 s 和 t 。你可以对字符串 s 执行以下操作: 将 s 长度为 l (0 < l < n)的 后缀字符串 删除,并将它添加在 s 的开头。 比方说,s = 'abcd' ,那么一次操作中,你可以删除后缀 'cd' ,并将它添加到 s 的开头,得到 s = 'cdab 阅读全文
摘要:
设计一个算法来序列化和反序列化二叉搜索树 对序列化/反序列化算法的工作方式没有限制 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。 ###1. 非递归先序遍历 + 编码 ``` class Codec { public: // Encodes a tree t 阅读全文
摘要:
k 子序列指的是 s 的一个长度为 k 的 子序列 ,且所有字符都是唯一的,也就是说每个字符在子序列里只出现过一次。 定义 f(c) 为字符 c 在 s 中出现的次数。 k 子序列的 美丽值定义为这个子序列中每一个字符 c 的f(c)之和 ###1. 贪心 + 组合枚举 贪心选美丽值最大的字符,对于 阅读全文