「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母
生活随笔
收集整理的這篇文章主要介紹了
「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 🔴力扣原題:
- 🟠題目簡(jiǎn)述:
- 🟡解題思路:
- 🟢C++代碼:
- 🔵結(jié)果展示:
🔴力扣原題:
力扣鏈接:744. 尋找比目標(biāo)字母大的最小字母
🟠題目簡(jiǎn)述:
給你一個(gè)排序后的字符列表 letters ,列表中只包含小寫英文字母。另給出一個(gè)目標(biāo)字母 target,請(qǐng)你尋找在這一有序列表里比目標(biāo)字母大的最小字母。
在比較時(shí),字母是依序循環(huán)出現(xiàn)的。舉個(gè)例子:
如果目標(biāo)字母 target = ‘z’ 并且字符列表為 letters = [‘a(chǎn)’, ‘b’],則答案返回 ‘a(chǎn)’
🟡解題思路:
1.利用map進(jìn)行模擬;
2.把target與letters插入map;
3.找出target下一個(gè)元素;處理元素越界,則使用第一個(gè)元素;
4.over;
🟢C++代碼:
class Solution { public:char nextGreatestLetter(vector<char>& letters, char target) {map<char, int> nmap;char chRet = '0';for(auto letter : letters){nmap[letter] = letter - 'a';} nmap[target] = target - 'a';map<char, int>::iterator iter;iter = nmap.find(target);if(iter != nmap.end()){ if(++iter == nmap.end()){map<char, int>::iterator it;it = nmap.begin();chRet = it->first;}else{chRet = iter->first;}}return chRet;} };🔵結(jié)果展示:
總結(jié)
以上是生活随笔為你收集整理的「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 「 每日一练,快乐水题 」693. 交替
- 下一篇: 产品经理必知的三个数据分析框架