给你一个字符串 word ,该字符串由数字和小写英文字母组成。

请你用空格替换每个不是数字的字符。例如,“a123bc34d8ef34” 将会变成 " 123 34 8 34" 。注意,剩下的这些整数间至少要用一个空格隔开:“123”、“34”、“8” 和 “34” 。

返回对 word 完成替换后形成的 不同 整数的数目。

如果两个整数的 不含前导零 的十进制表示不同,则认为这两个整数也不同。

示例 1:

输入:word = “a123bc34d8ef34”
输出:3
解释:不同的整数有 “123”、“34” 和 “8” 。注意,“34” 只计数一次。
示例 2:

输入:word = “leet1234code234”
输出:2
示例 3:

输入:word = “a1b01c001”
输出:1
解释:“1”、“01” 和 “001” 视为同一个整数的十进制表示,因为在比较十进制值时会忽略前导零的存在。

提示:

1 <= word.length <= 1000
word 由数字和小写英文字母组成

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

题解:字符串转数组后,可以利用数字可拆分,在数组中只取为数字的字符,转为整形后再组成完整数字;因为不同整形只记一次,可以用Set容器的特性,很好完成整数的计数。
注:因为整数的计数不排除0,所以对于0的情况也应考虑;
对于最后几个或一个字符也整形,最后一定要做好判断;

class Solution {public int numDifferentIntegers(String word) {char[] str=word.toCharArray();Set<Integer> set=new TreeSet<Integer>();int j=-1;for(int i=0;i<str.length;i++){if(str[i]>='0'&&str[i]<='9'){int n=Integer.parseInt(str[i]+"");if(j==-1)j=0;j=n+j*10;      }else{if(j!=-1) set.add(j); j=-1;}}if(j!=-1) set.add(j);   return  set.size();}
}

力扣5713. 字符串中不同整数的数目相关推荐

  1. 1805. 字符串中不同整数的数目

    1805. 字符串中不同整数的数目 给你一个字符串 word ,该字符串由数字和小写英文字母组成. 请你用空格替换每个不是数字的字符.例如,"a123bc34d8ef34" 将会变 ...

  2. 力扣反转字符串中的元音字母

    给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串. 元音字母包括 'a'.'e'.'i'.'o'.'u',且可能以大小写两种形式出现. 代码思路: 1.将字符串转换为字符数组 2. ...

  3. 力扣 387. 字符串中的第一个唯一字符 C语言实现

    题目描述: 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 .如果不存在,则返回 -1 . 题目链接 方法一:哈希表 创建一个哈希表,遍历字符串中的字符,并在哈希表中查找该字符,如 ...

  4. LeetCode 1805. 字符串中不同整数的数目(哈希set)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 word ,该字符串由数字和小写英文字母组成. 请你用空格替换每个不是数字的字符. 例如,"a123bc34d8ef34&quo ...

  5. 力扣--让字符串成为回文串的最少插入次数

    力扣–让字符串成为回文串的最少插入次数 文章目录 力扣--让字符串成为回文串的最少插入次数 一.题目描述 二.分析 三.代码 相关题目: 腾讯–构造回文:腾讯–构造回文 最长回文子串和回文链表:最长回 ...

  6. 力扣 旋转字符串 C语言 题解

    力扣 旋转字符串 文章目录 力扣 旋转字符串 一.完整题目 二.解题思路 三.编写代码 四.测评结果 五.总结评价 一.完整题目 给定两个字符串, s 和 goal. 如果在若干次旋转操作之后,s 能 ...

  7. java利用正则表达式提取字符串中的整数和小数部分

    最近开发遇到一个新的东西,就是前端传过来一个字符串,需要将里面的数字提取出来,倒腾了一天,最后还是没有倒腾出来,最后还是借鉴大佬的方法.记录一下. 首先是前端传来的字符串"小明通过扫码向你付 ...

  8. 刷爆力扣之字符串中的单词数

    刷爆力扣之字符串中的单词数 HELLO,各位看官大大好,我是阿呆

  9. 力扣 根据数字二进制下1的数目排序

    力扣 根据数字二进制下1的数目排序 题目描述 给你一个整数数组 arr .请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序. 如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值 ...

  10. Java黑皮书课后题第7章:*7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目

    7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目 题目 题目描述 破题 代码 运行实例 题目 题目描述 7.22(计算一个字符串中大写字母的数 ...

最新文章

  1. 9月22日我国垃圾邮件报告:湖北省再居榜首
  2. 【VMCloud云平台】SCVMM配置(九)创建Web服务模板
  3. 傅里叶级数FS, 离散傅里叶变换DFT
  4. mongoDB-3.x启用认证
  5. 我是大富豪php源码,最全大富豪3.4源码【自用可运营】含23款子游戏+可控制输赢工具...
  6. Appnium安装-Mac平台
  7. 开发者入门,这几款小工具能让你事半功倍
  8. python input 拖入路径 去除转义 空格_python学习笔记(基础-2)(转载)
  9. java数据类型_JAVA基础篇(数据类型)
  10. 《PHP和MySQL Web开发从新手到高手(第5版)》一一1.7 万事俱备,摩拳擦掌
  11. EditPlus中有用的快捷键
  12. android SDK 常见安装方法
  13. C++对象模型探索视频课程
  14. word里边页眉下面的下划线怎么去掉
  15. 配方奶粉,尽量不用鲜奶
  16. FreeMarker导出word遇到的坑
  17. 《windows游戏编程大师技巧》第五章:DirectX基础知识和令人生畏的COM
  18. word两个不同表格合并,防止自动调整
  19. 微信小程序云开发完整案例
  20. linux qemu-nbd介绍

热门文章

  1. TensorFlow ERROR:Resource temporarily unavailable
  2. 奖励 CSDN 社区的领军人物
  3. 花花公子发大招!一款可以“美容”的安全套,极致××体验从它出发 | 钛空舱
  4. EasyReport报表工具
  5. 中国有机菠萝汁行业市场供需与战略研究报告
  6. Linux查看Nvidia显卡型号
  7. ansys怎么删除线段_如何彻底删除ansys
  8. python开头编码cc手_python的编码问题整理
  9. 【找规律】求123456789的第几个全排列
  10. Golang defer、panic和recover