2023华为OD 面试手撕代码真题【切割回文串最小切割次数】

本文分享了一道华为OD面试中出现的难题——如何找到切割回文串的最小次数。文章指出,面试时动态规划是最优解,暴力法虽然效率不高但也能展示解题思路。此外,还提及了Manacher算法作为进阶解决方案,并提供了相关学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

群里小伙伴遇到的题目:算是比较难的题目了。

这个题,解法很多,暴力法、动态规划、Manacher 算法。。。

但是面试给出来,动态规划一定是最完美的答案,说实话你要是牛逼写Manacher 算法,面试官能不能看的懂都是个问题。

1:暴力法,一定要写出来,不一定非要动态规划才行,个人觉的写出暴力法一定可以通过面试。

暴力法的思路也很简单,从1开始遍历,到最多就是切(length-1)次,切成都是单个字符的子串,肯定都是回文串了。中间满足条件直接跳出即可。虽然过不了100%,但是能给出正确解法已经不错了。

class Solution {
    //暴力法,遍历所有的字串
    List<String> ans ;
    boolean[][] judge;
    int cnt;
    int n;
    public int minCut(String s) {
        n = s.length();
        cnt = n-1;
        ans = new ArrayList<>();
        judge = new boolean[n][n]; 
        char[] chars = s.toCharArray();
        for(int i=0;i&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MISAYAONE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值