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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA CAS实现原理与使用

    JAVA CAS实现原理与使用在JDK5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁)。锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。volatile…

    2022年7月8日
    32
  • ORAN专题系列-21:主要的玩家(设备商)以及他们各自的态度、擅长领域

    爱立信:是O-RAN重要的成员,也是标准化起草单位之一,他们支持的是O-RAN的智能化和自动化,但他们公开表示抵制O-RAN的开放化,并公开批评过O-RAN政策联盟,抵制中兴和华为的行为。他们虽然反对对前传接口的开放。但处于商业的目的或处于迫于运营商的压力,他们还是使用爱立信的O-DU与富士通的FR1O-RAN为DoCoMo提供了互联互通,他们使用爱立信的O-DU与三星的FR2O-RAN为AT&T提供了互联互通。他们对O-RAN对O-RAN的整体的价格、性能、维护管理、O…

    2022年4月9日
    61
  • mac全选文字的快捷键_Mac文本快捷键你知道多少?

    mac全选文字的快捷键_Mac文本快捷键你知道多少?我们在MAC电脑上码字的时候,经常会遇到需要对某段文字进行修改或者操作的情况,相信很多人的做法是用鼠标去移动光标快速定位,如果字数篇幅比较小也是可以的,但是如果遇到大篇幅的文章,一点点的用鼠标去找会非常麻烦,今天我就教大家几个MAC文本快捷键,让你在最短的时间内把光标移动到你想要的位置,提高在电脑上码字的效率。image1、全文&段落定位目标位置比较远的时候,需要对光标远程定位,下面的组合…

    2022年5月26日
    55
  • vue入门教程(一)「建议收藏」

    vue入门教程(一)「建议收藏」1.vue简介1.1vue是什么官网:https://cn.vuejs.org/Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。1.2vue的特点1)遵循MVVM模式2)编码简洁,体积小,运行效率高,适合移动/PC端开发.

    2022年6月4日
    31
  • JMH是什么?

    JMH是什么?一、JMH是什么?JMH是Java性能测试工具,主要是对工程中一些方法进行一些基准测试,支持的时间单位为:nano/micro/milli/macro二、JMH使用案例-代码:1P

    2022年7月4日
    20
  • 如何删除mysql重新安装_重装系统文件还在吗

    如何删除mysql重新安装_重装系统文件还在吗首先cmd–>netstopmysql停止服务1.打开控制面板卸载mysql的所有程序2.进入C盘ProgramFiles或者是ProgramFiles(x86)删除mysql文件夹3.删除C盘目录下C:\ProgramData中mysql文件夹4.打开运行界面输入regedit,首先删除:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Se……

    2022年9月29日
    0

发表回复

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

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