我是靠谱客的博主 糊涂黑裤,最近开发中收集的这篇文章主要介绍【Leetcode】1805. Number of Different Integers in a String题目地址:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目地址:

https://leetcode.com/problems/number-of-different-integers-in-a-string/

给定一个只含数字和英文小写字母的字符串 s s s,最长连续的数字字符构成一个十进制数,问这个字符串里有多少个不同的十进制数。

遍历 s s s,当遇到 0 0 0的时候,只有它是连续数字字符的最后一次出现的 0 0 0的时候,我们才能确定有个十进制数字是 0 0 0,将其加入哈希表;遇到非 0 0 0数的时候直接截出这个数加入哈希表即可。注意这里会爆long,所以要存字符串。代码如下:

import java.util.HashSet;
import java.util.Set;

public class Solution {
    public int numDifferentIntegers(String word) {
        Set<String> set = new HashSet<>();
        for (int i = 0; i < word.length(); i++) {
            if (Character.isDigit(word.charAt(i))) {
                if (word.charAt(i) == '0') {
                    if (i + 1 == word.length() || !Character.isDigit(word.charAt(i + 1))) {
                        set.add("0");
                    }
                } else {
                    int j = i;
                    while (j < word.length() && Character.isDigit(word.charAt(j))) {
                        j++;
                    }
    
                    set.add(word.substring(i, j));
                    i = j;
                }
            }
        }
        
        return set.size();
    }
}

时空复杂度 O ( l s ) O(l_s) O(ls)

最后

以上就是糊涂黑裤为你收集整理的【Leetcode】1805. Number of Different Integers in a String题目地址:的全部内容,希望文章能够帮你解决【Leetcode】1805. Number of Different Integers in a String题目地址:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部