文章目录
- 1. 题目
- 2. 解题
1. 题目
给定一个字符串str,返回字符串中字母顺序最大的而且同时在字符串中出现大写和小写的字母。
如果不存在这样的字母,返回‘~‘。
please return uppercase
|str|<=1000示例
例 1:
输入:"aAbBcD"
输出:'B'
解释:因为c和D没有大小写同时出现,
A和B都有大小写,但是B比A大,所以返回B。例2:
输入:"looGVSSPbR"
输出:'~'
https://tianchi.aliyun.com/oj/245867719779445300/277517718521057998
2. 解题
- 记录每个字符出现大写小写了吗? 小写+1,大写+2,最后统计 = 3 的最大字符
class Solution {
public:/*** @param str: the str* @return: the letter*/char findLetter(string &str) {// Write your code here.char ans = '~';vector<int> count(26,0);for(auto c : str){int idx;if(c>='a' && c<='z'){idx = c - 'a';if(count[idx]==0 || count[idx]==2)count[idx]++;}else{idx = c - 'A';if(count[idx]==0 || count[idx]==1)count[idx] += 2;}}for(int i = 0; i < 26; i++){if(count[i] == 3)ans = 'A'+i;}return ans;}
};
50ms C++
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!