LeetCode 1750.删除字符串两端相同字符后的最短长度

题目

给你一个只包含字符 'a''b''c' 的字符串 s ,你可以执行下面这个操作(5 个步骤)任意次:

  1. 选择字符串 s 一个 非空 的前缀,这个前缀的所有字符都相同。
  2. 选择字符串 s 一个 非空 的后缀,这个后缀的所有字符都相同。
  3. 前缀和后缀在字符串中任意位置都不能有交集。
  4. 前缀和后缀包含的所有字符都要相同。
  5. 同时删除前缀和后缀。

请你返回对字符串 s 执行上面操作任意次以后(可能 0 次),能得到的 最短长度

思路

代码

java 复制代码
class Solution {
    public int minimumLength(String s) {
        int n = s.length();
        int left = 0, right = n - 1;
        while (left < right && s.charAt(left) == s.charAt(right)) {
            char c = s.charAt(left);
            while (left <= right && s.charAt(left) == c) {
                left++;
            }
            while (left <= right && s.charAt(right) == c) {
                right--;
            }
        }
        return right - left + 1;
    }
}

性能

时间复杂度o(n)

空间复杂度o(1)

相关推荐
凯瑟琳.奥古斯特12 小时前
原码与补码乘法符号位处理差异
java·开发语言·职场和发展
高级c12 小时前
MindIE 推理引擎架构解析
深度学习·算法·架构·cann
奶人五毛拉人一块12 小时前
滑动窗口算法及习题讲解
数据结构·算法·滑动窗口·子数组
菜菜的顾清寒12 小时前
力扣HOT100(28)两数相加
算法·leetcode·职场和发展
搬砖魁首12 小时前
基础能力系列 - 多线程1 - 内存序
算法·内存序·memory order
pursuit_csdn13 小时前
力扣周赛 503
java·算法·leetcode
sheeta199813 小时前
LeetCode 每日一题笔记 日期:2026.05.21 题目:3043. 最长公共前缀的长度
笔记·算法·leetcode
我爱cope13 小时前
【Agent智能体3 | 智能体AI的优势】
人工智能·职场和发展
吃好睡好便好13 小时前
创建随机矩阵
开发语言·人工智能·线性代数·算法·matlab·矩阵
June bug13 小时前
【AI赋能软件测试】6RAG知识库基础
学习·职场和发展