LeetCode 1763. 最长的美好子字符串

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。
比方说,"abABB" 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。
然而,"abA" 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。

给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。
如果有多个答案,请你返回 最早 出现的一个。
如果不存在美好子字符串,请你返回一个空字符串。

示例 1:
输入:s = "YazaAay"
输出:"aAa"
解释:"aAa" 是一个美好字符串,因为这个子串中仅含一种字母,
其小写形式 'a' 和大写形式 'A' 也同时出现了。
"aAa" 是最长的美好子字符串。示例 2:
输入:s = "Bb"
输出:"Bb"
解释:"Bb" 是美好字符串,因为 'B''b' 都出现了。
整个字符串也是原字符串的子字符串。示例 3:
输入:s = "c"
输出:""
解释:没有美好子字符串。示例 4:
输入:s = "dDzeE"
输出:"dD"
解释:"dD""eE" 都是最长美好子字符串。
由于有多个美好子字符串,返回 "dD" ,因为它出现得最早。提示:
1 <= s.length <= 100
s 只包含大写和小写英文字母。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-nice-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 暴力解法
class Solution {
public:string longestNiceSubstring(string s) {int n = s.size(), maxlen = 0;string ans;for(int i = 0; i < n; ++i){vector<int> ct1(26), ct2(26);for(int j = i; j < n; ++j){if(isupper(s[j]))ct2[s[j]-'A']++;else    ct1[s[j]-'a']++;if(ok(ct1, ct2) && j-i+1 > maxlen){maxlen = j-i+1;ans = s.substr(i, maxlen);}}}return ans;}bool ok(vector<int>& ct1, vector<int>& ct2){int count = 0;for(int i = 0; i < 26; ++i){if((ct1[i]==0 && ct2[i]!=0) || (ct1[i]!=0 && ct2[i]==0))return false;else if(ct1[i]>0 && ct2[i]>0)count++;}return count>0;}
};

16 ms 7.2 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下的socket通信小程序分享——第三圣子

第三圣子 最近学习unix网络编程&#xff0c;感觉东西零零碎碎&#xff0c;比较混乱。因此决定整理以下&#xff0c;发一个小博客。一来可以与大家分享以下&#xff0c;二来可以总结提高一下所学的东西。话说&#xff1a;竹子为什么长的高&#xff0c;因为它喜欢总结阿&#xff…

处理器指令编码可重定义的方法_从零开始设计四位栈处理器(2)——结构与指令集...

从零设计四位栈处理器&#xff08;2&#xff09;——结构与指令集一句话概括&#xff1a; 在Toxic处理器中&#xff0c;万物皆栈。熟悉汇编语言的同学会了解&#xff0c;一般的汇编语言&#xff0c;会包含以下几个部分&#xff1a;寄存器地址立即数操作码在这期文章中&#xff…

raptor累乘流程图_Markdown快速上手指南

Markdown快速上手指南1、Markdown介绍markdown可以实现快速html文档编辑&#xff0c;格式优没&#xff0c;并且不需要使用html元素。 markdown采用普通文本的形式&#xff0c;例如读书笔记等易于使用的文本格式进行编写。 如果实在需要生成markdown不支持的html元素的话&#x…

OA项目10:部门管理的三个细节问题的解决及处理懒加载问题

首注&#xff1a;本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记&#xff0c;本人用此来加强巩固自己开发知识&#xff0c;如有网友转载&#xff0c;请注明。谢谢。 一 部门管理遗留三个细节问题&#xff0c;及其处理方法&#xff1a; 1.当选择了子…

LeetCode 1764. 通过连接另一个数组的子数组得到一个数组

文章目录1. 题目2. 解题1. 题目 给你一个长度为 n 的二维整数数组 groups &#xff0c;同时给你一个整数数组 nums 。 你是否可以从 nums 中选出 n 个 不相交 的子数组&#xff0c;使得第 i 个子数组与 groups[i] &#xff08;下标从 0 开始&#xff09;完全相同&#xff0c;…

db文件怎么修改_MongoDB最新4.2.7版本三分片集群修改IP实操演练

背景重新组网&#xff0c;需要对现有MongoDB分片集群服务器的IP进行更改&#xff0c;因此也需要对MongoDB分片集群的IP也进行相应的更新&#xff0c;而MongoDB分片集群的IP修改不能单纯的通过配置来进行&#xff0c;需要一番折腾后才能正常更新&#xff0c;这里对整个MongoDB集…

mysql 版本查询_查看mysql版本

1:终端:mysql -V [root@localhost~]# mysql -V mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) 2:在mysql中:mysql> status; mysql> status; ————– mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) Connection id: 416 S…

cron 每周一执行_详解定时任务中的 cron 表达式

1.前言 我们经常使用 cron 表达式来定义定时任务的执行策略,今天我们就总结一下 cron 表达式的一些相关知识。 2. cron 表达式的定义 cron 表达式是一个字符串,该字符串由 6 个空格分为 7 个域,每一个域代表一个时间单位。格式如下: [秒] [分] [时] [日] [月] [周] [年] 通…

OGEngine教程:声音载入

以下介绍声音资源从载入到播放的一个流程 首先&#xff0c;我们将须要的音频文件放到assets文件夹下&#xff0c;OGE中SoundRes和MusicRes为我们封装了非常多经常使用的方法&#xff0c;能够用于载入及播放等经常使用功能。 载入 //设置声音读取路径 Device.getDevice().getSou…

python中缩进在程序中_有没有办法将Python代码中的缩进转换为大括号?

Python支持用于定义代码块的大括号&#xff0c;并且它还支持使用“开始”和“结束”标记。 请看这些代码示例&#xff1a;class MyClass(object): #{ def myfunction(self, arg1, arg2): #{ for i in range(arg1): #{ print i #} #} #} 还有一个带有bash样式的例子&#xff1a;…

LeetCode 1765. 地图中的最高点(BFS)

文章目录1. 题目2. 解题1. 题目 给你一个大小为 m x n 的整数矩阵 isWater &#xff0c;它代表了一个由 陆地 和 水域 单元格组成的地图。 如果 isWater[i][j] 0 &#xff0c;格子 (i, j) 是一个 陆地 格子。 如果 isWater[i][j] 1 &#xff0c;格子 (i, j) 是一个 水域 格…

mysql 停止同步_MYSQL从库数据冲突导致同步停止

在兼职DBA的工作中&#xff0c;由于同事在数据库上误操作&#xff0c;导致数据库同步停止&#xff0c;情况如下&#xff1a;mysql>show slave status\G;*************************** 1. row***************************Slave_IO_State: Waiting formaster to send eventMast…

jQuery$命名冲突问题解决方法

也许你在看此文章之前还不知道jquery有一个noConflict()东西了&#xff0c;它就是为了避免与其它js插件碰到相同变量的一个解决方法&#xff0c;利用noConflict()可以把变量存到其它指定的变量中去如&#xff0c;我把$存到jq中 代码如下 复制代码 var jq $.noConflict(); 这样…

LeetCode 1768. 交替合并字符串

文章目录1. 题目2. 解题1. 题目 给你两个字符串 word1 和 word2 。 请你从 word1 开始&#xff0c;通过交替添加字母来合并字符串。 如果一个字符串比另一个字符串长&#xff0c;就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 示例 1&#xff1a; 输入…

.git文件夹_Git幸存者指南

> Learn how to use Git to version control a cake recipe… and other things like code!或如何用Git烤蛋糕Git很难。 Git令人生畏。 学习曲线很大。 作为软件工程师&#xff0c;这至关重要。Git是用于版本控制的行业标准。 这是我们大多数人在学校或编码训练营中都不学的…

mysql偏移注入_移位溢注:告别靠人品的偏移注入

*本文原创作者&#xff1a;SeagullGR&#xff0c;本文属FreeBuf原创奖励计划&#xff0c;未经许可禁止转载在Access数据库类型注入的时候&#xff0c;我们获取不到列名(前提是有表名)&#xff0c;一般会选择使用偏移注入&#xff0c;但是这种注入方式往往借助的是个人的人品&am…

Jquery 中的CheckBox、 RadioButton、 DropDownList的取值赋值

1.获取选中值&#xff0c;三种方法都可以&#xff1a; $(input:radio:checked).val()&#xff1b; $("input[typeradio]:checked").val(); $("input[namerd]:checked").val(); 2.设置第一个Radio为选中值&#xff1a; $(input:radio:first).attr(checked, …

LeetCode 1769. 移动所有球到每个盒子所需的最小操作数(前缀和)

文章目录1. 题目2. 解题1. 题目 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes &#xff0c;其中 boxes[i] 的值为 0 表示第 i 个盒子是 空 的&#xff0c;而 boxes[i] 的值为 1 表示盒子里有 一个 小球。 在一步操作中&#xff0c;你可以将 一个 小球从某个盒子移动到…

代写python代码一般多少钱_代写CO 353课程作业、代做Python程序设计作业、代写Python语言作业...

代写CO 353课程作业、代做Python程序设计作业、代写Python语言作业 日期&#xff1a;2020-03-17 11:22 CO 353 - Homework assignment 4 Winter ’20 Page 1 CO 353 - Winter ’20 Homework assignment #4: Instructions: ? You may use any result proved in class directly,…

JNative用法注意事项

公司要做个跟设备打交道的web系统&#xff0c;需要java调用dll。搞java的同事说JNative看起来挺好使的&#xff0c;找俺帮忙调通。用的是1.3.1版本 环境设置。 JNative的调试信息需要打开才能更清楚些&#xff0c;要不总是说没加载库&#xff0c;跟没说一样。 System.setProper…