hdu1106 java字符串分割

hdu1106 java字符串分割排序TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):30220    AcceptedSubmission(s):8391ProblemDescription输入一行数字,如果我们把这行数字中的‘5’都

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
   

排序

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 30220    Accepted Submission(s): 8391

Problem Description
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。

你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。

 

Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。  

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。

 

Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。

 

Sample Input
  
  
  
0051231232050775
 

Sample Output
  
  
  
0 77 12312320
 

用java解的话,可以直接用String的split方法去分割。但是要注意两点:

第一:开头如果有5 的话,分割出的字符串会含有空串;

第二:中间如果有多个连续的5的话,匹配用的正则式要使用5+,即匹配一次或多次,而5*是匹配0次或多次

           总体来说,正则表达式还是不熟啊。WA了大半个下午。才找到错误。

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String []args)throws Exception{
		Scanner cin = new Scanner(System.in);
		while(cin.hasNext()){
			String values = cin.next();
			while(true){
				if(values.startsWith("5"))
					values=values.substring(1);
				else
					break;
			}
			String s[] = values.split("5+");
			int a[]=new int[s.length];
			for(int i=0;i<s.length;i++){
				a[i]=Integer.parseInt(s[i]);
			}
			Arrays.sort(a);
			for(int i=0;i<a.length;i++)
			{
				System.out.print(a[i]);
				if(i!=a.length-1)
					System.out.print(" ");
				else
					System.out.println();
			}
				
		}	
		cin.close();
	}
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188604.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 硬盘加速和磁盘碎片整理软件

    硬盘加速和磁盘碎片整理软件2018/12/12PrimoCache(推荐):1、PrimoCache使用方法自行搜索,官网也有实例。2、PrimoCache的作用类似于傲腾,但是没有傲腾只能加速一个机械硬盘的缺点,PrimoCache可以同时加速多个机械硬盘。3、如果你有多余的内存,你可以开一级缓存,即使你没有固态硬盘也可以体验机械硬盘在开机后的加速。4、如果你有多余的内存和固态硬盘空间,你可以开一级缓…

    2022年6月25日
    51
  • 电商用户行为数据分析系统的设计与实现_基于大数据的用户行为分析

    电商用户行为数据分析系统的设计与实现_基于大数据的用户行为分析前言本文针对淘宝app的运营数据,以行业常见指标对用户行为进行分析,包括一、提出问题1.电商常用分析体系2.电商常用分析指标3.本次分析的业务问题以及分析逻辑本次想通过对淘宝用户行为数据的分析,解决以下业务问题:以下为分析逻辑和用到适用的业务指标:…

    2022年9月27日
    4
  • java跟python优势_当前Java与Python相比还有哪些优势「建议收藏」

    java跟python优势_当前Java与Python相比还有哪些优势「建议收藏」首先,Java语言与Python语言都是非常流行的全场景编程语言,在很多开发场景下,既可以使用Java语言,也可以采用Python语言,比如Web开发、大数据开发等等。随着近几年大数据和人工智能领域的热度越来越高,Python语言的上升趋势还是比较明显的。采用Python构建的分析系统虽然Python语言得到了越来越多的关注,但是Java语言还是有很多固有优势的,主要体现在以下三个方面:第一:性能…

    2022年9月28日
    1
  • Java的输入输出(新手上路版)

    Java的输入输出(新手上路版)

    2021年9月29日
    82
  • 计算机管理找不到指定模块,卸载时找不到指定模块怎么办_电脑卸载找不到指定模块处理方法-win7之家…

    计算机管理找不到指定模块,卸载时找不到指定模块怎么办_电脑卸载找不到指定模块处理方法-win7之家…我们在使用电脑的过程中,对于系统中安装的大不多数软件有些是不需要,因此就需要卸载掉,以此保证电脑的内存充足,但是近日有的用户发现自己的电脑在卸载软件时总是会有找不到指定模块的提示,那么卸载时找不到指定模块怎么办呢?下面小编就来告诉大家电脑卸载找不到指定模块处理方法。具体方法:方法1:电脑清理法1、打开电脑安装的安全软件(这里以360为例),点击“电脑清理”。2、进入后找到“清理注册表”这项,然后在…

    2022年7月13日
    48
  • matlab中wavedec2,wavedec2函数详解[通俗易懂]

    matlab中wavedec2,wavedec2函数详解[通俗易懂]很多人对小波多级分解的wavedec2总是迷惑,今天就详释她!wavedec2函数:1.功能:实现图像(即二维信号)的多层分解,多层,即多尺度.2.格式:[c,s]=wavedec2(X,N,’wname’)[c,s]=wavedec2(X,N,Lo_D,Hi_D)(我不讨论它)3.参数说明:对图像X用wname小波基函数实现N层分解,这里的小波基函数应该根据实际情况选择,具体选择办法可以搜之或者…

    2022年7月24日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号