LeetCode LCP 23. 魔术排列(思维好题)

题意:

在这里插入图片描述
在这里插入图片描述

解法:
第一想法是考虑枚举k,然后通过模拟来计算是否有解.
复杂度分析:枚举O(n), 模拟O(n^2),总复杂度O(n^3)

这种题考虑k是否有唯一解:
1.假设第一次洗牌之后的数组为a, a和target的LCP(最大公共前缀)为m
2.当k>m时, 由于a[m+1]!=t[m+1], 因此m+1位置一定无法匹配上.
3.当k<m时, 由于下一次洗牌, 开头的数会变成a[k+2], 而实际要匹配的数是a[k+1], 因此也一定无法匹配上.
所以k的唯一可能取值就是k=m了.

我们对k=m的情况模拟一下, 判断是否有解即可.
复杂度O(n^2).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值