这题很坑爹,子序列 != 子串,子序列不需要连续(他们说的,这是在考语文?),所以,先看整个字符串是不是回文,是return 1,不是就看有多少种字符(题目说最多2种,超过2种呢?超过2种就不是了比如abcb,c答案2abcbcc,答案3,abcbffgcdcf,答案5,额,要是超过2种难度就大了好多)就删多少次就行了

本题:

class Solution {public:bool is(string s,int left, int right){while(left <= right){if(s[left] != s[right]){return false;}left++;right--;}return true;}int removePalindromeSub(string s) {if(s == ""){return 0;}if(is(s, 0, s.size()-1)){return 1;}else{bool aflag = false, bflag = false;for(int i = 0; (!aflag || !bflag) && i < s.size(); i++){if(s[i] == 'a'){aflag = true;}else if(s[i] == 'b'){bflag = true;}}if(aflag && bflag){return 2;}else{return 1;}}}
};

下面这个是把序列当子串来做的

要是题目真的说,字符种类超过2种,应该可取这两种方法的答案最小值作为答案。(额,写完就发现不对,hhhhhhaaa,比如abcbffgcdcf,答案应该是5,下面这个标记被删除,改成真的删除应该就对)

class Solution {public:bool is(string s,int left, int right){while(left <= right){if(s[left] != s[right]){return false;}left++;right--;}return true;}int removePalindromeSub(string s) {if(s == ""){return 0;}int count = 0;vector<bool>visited(s.size(), false);//标记对应字符有没被删,true表示删了for(int i = 0; i < s.size(); i++){if(!visited[i]){for(int j = s.size()-1; j >= i; j--){if(!visited[j]){if(is(s, i, j)){count++;for(int ii = i; ii <= j; ii++){visited[ii] = true;}i = 0;break;}}}}}return count;        }
};

总结:瞎写一通,hahahahhhhhh

5319. 删除回文子序列相关推荐

  1. LeetCode 1332. 删除回文子序列

    1. 题目 给你一个字符串 s,它仅由字母 'a' 和 'b' 组成.每一次删除操作都可以从 s 中删除一个回文 子序列. 返回删除给定字符串中所有字符(字符串为空)的最小删除次数. 「子序列」定义: ...

  2. leetcode算法题--删除回文子序列

    原题链接:https://leetcode-cn.com/problems/remove-palindromic-subsequences/ class Solution {public:int re ...

  3. 算法62---最长回文子序列长度(子串)、回文子序列总共个数(子串)【动态规划】...

    参考链接:https://www.cnblogs.com/AndyJee/p/4465696.html 一.题目:最长回文子序列长度 给定字符串,求它的最长回文子序列长度.回文子序列反转字符顺序后仍然 ...

  4. LeetCode 2002. 两个回文子序列长度的最大乘积(状态压缩+枚举状态子集+预处理)

    文章目录 1. 题目 2. 解题 2.1 超时 2.2 预处理优化 1. 题目 给你一个字符串 s ,请你找到 s 中两个 不相交回文子序列 ,使得它们长度的 乘积最大 . 两个子序列在原字符串中如果 ...

  5. LeetCode 1930. 长度为 3 的不同回文子序列(计数)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s ,返回 s 中 长度为 3 的不同回文子序列 的个数. 即便存在多种方法来构建相同的子序列,但相同的子序列只计数一次. 回文 是正着读 ...

  6. 【leetcode】【动态规划】最长回文子序列

    [leetcode]最长回文子序列 题目 代码 leetcode题目地址 题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度. 子序列定义为:不改变剩余字符顺序的情况下,删除某些 ...

  7. 第 258 场周赛(5867. 反转单词前缀/ 5868. 可互换矩形的组数 / 5869. 两个回文子序列长度的最大乘积(状态压缩) / 5870. 每棵子树内缺失的最小基因值(小大合并))

    第 258 场周赛 从这次开始还是把题目加上名字吧,要不然想找找不到题,哈哈 字节的周赛,还想冲个200来着,最后一题按二叉树写的,用例还能过,一提交,发现多叉的...来不及改了..400多名 586 ...

  8. 【Leetcode刷题Python】516. 最长回文子序列

    1 题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度. 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列. 示例 1: 输入:s = &q ...

  9. 【Leetcode】516. 最长回文子序列

    516. 最长回文子序列 题目描述 解题思路:动态规划 题目描述 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度.子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任 ...

最新文章

  1. (转)分布式文件存储FastDFS(五)FastDFS常用命令总结
  2. php filter 文件包含,php://filter(文件包含漏洞利用)及php://input
  3. python3.8安装pip-MAC本安装python3.8后,pip3命令无法更新问题
  4. 【下载!】实时计算正当时!助你轻松get Apache Flink 动向!
  5. CF613D Kingdom and its Cities
  6. python函数和模块有什么关键特性_Python学习----第一模块笔记(Python基础知识)...
  7. eclipse发布web不带项目名的url
  8. 为什么python打开pygame秒关闭后在运行_当我运行Python程序时,pygame窗口打开片刻,然后退出 - python...
  9. full outer join 与full join的区别_基础小白的SQL的JOIN语法解析
  10. 我一口气发现7个Safari 0day,苹果奖了7.5万美元
  11. Linux开发之libaio源码分析及应用
  12. Excel转PDF,Excel行数过多导致PDF折行、换行显示
  13. w10系统的服务器属性在哪,DNS设置在哪里、设置什么好?Win10电脑DNS设置指南
  14. -----已搬运-------Linux的/proc/self/学习 ++ CTF例题
  15. 习题11-7 奇数值结点链表 (20分)
  16. 我的嵌入式软件工程师秋招之路(文末送福利)
  17. pcm输出还是源码输出_观看高清必备 如何简单实现源码输出
  18. C++ RALL机制详解
  19. Word中如何连续使用格式刷
  20. 前端如何做好SEO优化

热门文章

  1. python资料-大牛分享python资料
  2. python基础代码大全-Python字典及基本操作(超级详细)
  3. python编程100个小程序-【Python精华】100个Python练手小程序
  4. 如何找到靠谱的微信小程序,公众号H5开发外包,定制开发公司?
  5. 语音识别kaldi该如何学习?
  6. python中堆排序_Python实现堆排序的方法详解
  7. 遍历矩阵每一行穷举_六十三---矩阵中的路径
  8. nmon安装为什么重启mysql_Centos7部署nmon监控工具
  9. Python 路径问题--No such file or directory
  10. 常用编码软件简单使用记录 2 : 非自主编码器