zoukankan      html  css  js  c++  java
  • 在字符串中找出连续最长的数字串

    此博客链接:

    在字符串中找出连续最长的数字串

    题目链接:https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec?tpId=37

    题目

    输出描述:

    输出字符串中最长的数字字符串和它的长度,中间用逗号间隔。如果有相同长度的串,则要一块儿输出(中间不要输出空格)。

    示例1

    输入:
    abcd12345ed125ss123058789
    a8a72a6a5yy98y65ee1r2
    输出:
    123058789,9
    729865,2

    题解

     初步想法是,先找到字符串中数字字符串,用数组保存下来,只要后一个数字字符串长度不小于前一个字符串的长度,就保存到数组中,最后比较数组中的元素,输出较大的数字字符串。但是这个想法的难点在于,如何能在字符串中找到数字,并且还需要先把所有的数字保存下来,然后在做比较。看到一个很好的理解,就是把不是数组的字符全变成同一个字符,然后用这个字符进行分割,就能把所有的数字分割出啦,找出数字中最长的字符串,最后输出等于最长字符串的数字字符即可。这里需要注意:在输出相同长度的数字字符串时,不要换行,最后把长度也输出。

    代码

    import java.util.*;
    public class Main{
        public static void main(String args[]){
          
            Scanner sc=new Scanner(System.in);
            while(sc.hasNext()){
                String str="";
                String temp=sc.nextLine();
                for(char c:temp.toCharArray()){
                    if(c>='0' && c<='9'){
                        str+=c;
                    }
                    else{
                        str+='a';
                    }
                }
                String res[] =str.split("a");
                int count=0;//记录最长的数字长度
                    for(int i=0;i<res.length;i++)
                    {
                        int len=res[i].length();
                        if(len>=count)
                        {
                            count=len;
                        }
                    }
                for(String st:res)
                    {
                        int len=st.length();
                        if(len==count)
                        {
                            System.out.print(st);
                        }
                    }
                    System.out.println(","+count); 
            }
            
        }
    }

    结果

    出来混总是要还的
  • 相关阅读:
    汪博士解读PMP考试
    ASP.NET编程实战宝典(光盘内容另行下载,地址见书封底)
    [模板]tarjan算法求SCC
    [POJ 3071]Football[概率DP]
    [数学]根式有理化[高中数学技巧]
    [平面几何]角格点问题
    [数学]对数均值不等式
    [模板][快速排序&归并排序]
    [POJ]P3126 Prime Path[BFS]
    每日一题_191219
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/15241234.html
Copyright © 2011-2022 走看看