1805. 字符串中不同整数的数目
生活随笔
收集整理的這篇文章主要介紹了
1805. 字符串中不同整数的数目
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1805. 字符串中不同整數(shù)的數(shù)目
給你一個(gè)字符串 word ,該字符串由數(shù)字和小寫英文字母組成。
請(qǐng)你用空格替換每個(gè)不是數(shù)字的字符。例如,“a123bc34d8ef34” 將會(huì)變成 " 123 34 8 34" 。注意,剩下的這些整數(shù)為(相鄰彼此至少有一個(gè)空格隔開):“123”、“34”、“8” 和 “34” 。
返回對(duì) word 完成替換后形成的 不同 整數(shù)的數(shù)目。
只有當(dāng)兩個(gè)整數(shù)的 不含前導(dǎo)零 的十進(jìn)制表示不同, 才認(rèn)為這兩個(gè)整數(shù)也不同。
示例 1:輸入:word = "a123bc34d8ef34" 輸出:3 解釋:不同的整數(shù)有 "123"、"34" 和 "8" 。注意,"34" 只計(jì)數(shù)一次。示例 2:輸入:word = "leet1234code234" 輸出:2示例 3:輸入:word = "a1b01c001" 輸出:1 解釋:"1"、"01" 和 "001" 視為同一個(gè)整數(shù)的十進(jìn)制表示,因?yàn)樵诒容^十進(jìn)制值時(shí)會(huì)忽略前導(dǎo)零的存在。提示:
- 1 <= word.length <= 1000
- word 由數(shù)字和小寫英文字母組成
解題思路
因?yàn)轭}目要求用空格替換每個(gè)不是數(shù)字的字符,并且返回對(duì) word 完成替換后形成的 不同 整數(shù)的數(shù)目。所以這題我們需要求得的是字母將字符串分割為若干個(gè)整數(shù),我們需要返回不同整數(shù)的個(gè)數(shù),我們需要做的是
代碼
class Solution { public:int numDifferentIntegers(string word) {set<string> se;for (int i = 0; i <word.size() ; ++i) {if (isalpha(word[i]))continue;int sum=0;while (word[i]=='0')i++;string t;while (isdigit(word[i])){t+=word[i];i++;}i--;if (t.size()==0){se.insert("0");}else {se.insert(t); }}return se.size();}};。
總結(jié)
以上是生活随笔為你收集整理的1805. 字符串中不同整数的数目的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到钓鱼钩断了什么意思
- 下一篇: 1869. 哪种连续子字符串更长