求解不相交回文子序列最大乘积的回溯代码如何保证无公共元素?
实现原理说明
你的代码不需要额外校验不相交的原因是,回溯逻辑本身就从根源上保证了两个子序列不会共用同一个索引的字符:
- 对于每个下标
start对应的字符,代码只设计了三个互斥的处理分支:- 仅将该字符加入子序列
s1,递归处理下一个下标 - 仅将该字符加入子序列
s2,递归处理下一个下标 - 该字符不加入任何子序列,递归处理下一个下标
- 仅将该字符加入子序列
- 三个分支完全互斥,不存在同一个字符同时加入
s1和s2的可能,因此最终生成的s1、s2的来源索引没有任何重叠,天然满足「不相交」的要求。
内容的提问来源于stack exchange,提问作者Someone
相关产品推荐
相关产品推荐

