
包含不重复元素的集合称为“集set”。.NET Framework包含两个集HashSet
ISet
参考:C# Char.IsDigit()用法及代码示例 - 纯净天空 (vimsky.com)
是一种检查Unicode字符是否可以归类为十进制数,有两种:
Char.IsDigti(Char)——检查指定的字符是否为十进制数
Char.IsDigti(String, Int)——指定位置的指定字符串是否与十进制数匹配
去除前导零的意思就是,有时经过判断后输出的必须是有实际意义的数字,那么“01”“0001”与1意义相同。所以需要加上一步”判断是否为0且去除“的操作。
C# HashSet 用法_IT技术猿猴的博客-CSDN博客_c# hashset
点入链接,直接回顾一下C#中哈希添加和删除清空等修改操作。
参考:
包括有a到z之间的字母,还有一些特殊字符。例如这道题后面还想除了一种解法,但是很奇怪用时会超出。
老老实实用双指针,最后去除前导零就行。
- public class Solution {
- public int NumDifferentIntegers(string word) {
- HashSet<string> str = new HashSet<string>();
- int n = word.Length;
- int p1, p2=0;
- while(true) {
- while(p2
- p2++; //until:
- }
- if(p2==n) {
- break;
- }
- p1=p2;
- while(p2
- p2++;
- }
- while(p1+1
'0') { - p1++;
- }
- str.Add(word.Substring(p1, p2 - p1));
- }
- return str.Count;
- }
- }
另外在力扣网还看到了用正则巧妙地做的答案:[Java/C++] 简单模拟题 - 字符串中不同整数的数目 - 力扣(LeetCode)
- class Solution {
- public int numDifferentIntegers(String word) {
- Set
set = new HashSet<>(); - for (String str : word.split("[a-z]+")) if (str.length() > 0) set.add(str.replaceAll("^0+",""));
- return set.size();
- }
- }
-
相关阅读:
Spring&SpringMVC&SpringBoor
【图论——第八讲】Kruskal算法求最小生成树问题
揭秘!付费会员制下的那些小心机!
C/C++ 单元自动化测试解决方案实践
【Java】HashMap 背诵版
【每日一练】python之sum()求和函数实例讲解
dllexport和dllimport
菜鸟理解int为啥是4个字节
HashMap 的哈希函数
Postman历史版本下载
-
原文地址:https://blog.csdn.net/qq_41835314/article/details/128201978