首页 > 其他分享 >HJ92 在字符串中找出连续最长的数字串

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

时间:2023-07-25 11:55:19浏览次数:59  
标签:数字串 curCnt max chars ans 字符串 new HJ92 String

1. 题目

读题

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

 

 

考查点

 

2. 解法

思路

 

代码逻辑

 

具体实现

 

自行实现

public class HJ092 {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String[] ans = getLongestDigitChar(sc.nextLine());
System.out.println(ans[0] + "," + ans[1]);
}
}

public static String[] getLongestDigitChar(String str) {
String[] ans = new String[2];

int max = 0;
StringBuffer sb = new StringBuffer();
int i = 0;
char[] chars = str.toCharArray();
while (i < chars.length) {
char c = chars[i];

if (!Character.isDigit(c)) {
i++;
continue;
}

int curCnt = 0;
while (i < chars.length && Character.isDigit(chars[i])) {
curCnt++;
i++;
}
String cur = str.substring(i - curCnt, i);
if (curCnt > max) {
max = curCnt;
sb = new StringBuffer(cur);
} else if (curCnt == max) {
sb.append(cur);
}
}
ans[0] = sb.toString();
ans[1] = max + "";
return ans;
}
}

3. 总结

标签:数字串,curCnt,max,chars,ans,字符串,new,HJ92,String
From: https://www.cnblogs.com/shoshana-kong/p/17548718.html

相关文章

  • 【python】删除字符串中以\x开头的特殊字符
    1、场景  paramiko获取的字符串中有很多\x开头的字符,需要去除,获取原始输出  2、处理方法content="\x071cd\0x70"#使用unicode-escape编码集,将unicode内存编码值直接存储,并替换空白字符content=content.encode('unicode_escape').decode('utf-8').replace('','......
  • Java 字符串转整形数组的方法及注意事项
     在Java编程中,经常会遇到需要将字符串转换为整形数组的情况。这是一个常见的操作,它可以帮助我们更方便地处理数据。本文将介绍一些常见的方法和注意事项,以帮助您顺利完成字符串转整形数组的任务。方法一:使用split()方法split()方法是Java中常用的字符串分割方法,它可以按照指......
  • sqlserver insert 限制字符串的长度 小于 表字段定义的长度
    sqlserverinsert时,字符串长度超出表字段限定的长度,报错写一个限定字符串长度的函数createfunctionGetLimitStr(@strvarchar(8000),@lenint)returnsvarchar(8000)asbeginifdatalength(@str)<=@lenreturn@strdeclare@cvarchar(2)declare@......
  • 字符串的展开
    #include<bits/stdc++.h>usingnamespacestd;intp1,p2,p3;stringstr,Anstr;charTochar(charsh){ if(p1==3){ return'*'; } returnp1==1?tolower(sh):toupper(sh);}intmain(intargc,char**argv){ cin>>p1>>p2>>p3&......
  • 字符串的展开
    #include<bits/stdc++.h>usingnamespacestd;intp1,p2,p3;stringS,Ans;charToChar(charch){if(p1==3){return'*';}returnp1==1?tolower(ch):toupper(ch);}intmain(){cin>>p1>>p2>>p3>>S......
  • (Relax 数论1.26)POJ 1496 Word Index(计算一个字符串在字典中的位置)
    大致题意:(与POJ1850基本一致)输出某个str字符串在字典中的位置,由于字典是从a=1开始的,因此str的位置值就是在str前面所有字符串的个数+1规定输入的字符串必须是升序排列。不降序列是非法字符串要求用循环输入,输入若干组字符串,若输入非法字符串则输出0,但不结束程序,这是和POJ1850......
  • 字符串的展开
    1848:【07NOIP提高组】字符串的展开时间限制:1000ms      内存限制:65536KB提交数:1091   通过数:481【题目描述】在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“D-H”或“4-8”的字串,我们就......
  • 字符串的展开
    //字符串的展开#include<bits/stdc++.h>usingnamespacestd;intp1,p2,p3;stringS,Ans;charToChar(charch){if(p1==3){return'*';}returnp1==1?tolower(ch):toupper(ch);}intmain(){cin>>p1>>p2>>p3......
  • 字符串展开
    #include<bits/stdc++.h>usingnamespacestd;intp1,p2,p3;stringS,Ans;charToChar(charch){ if(p1==3){ return'*'; } returnp1==1?tolower(ch):toupper(ch);}intmain(){ cin>>p1>>p2>>p3>>S; S='�......
  • LeetCode 热题 100 之 438. 找到字符串中所有字母异位词
    题目给定两个字符串 s 和p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。示例 1:输入:s="cbaebabacd",p="abc"输出:[0,6]解释:起始索引等于0的子串是"cba"......