Openjudge 1.13-40 提取数字串按数值排序
40:提取数字串按数值排序
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
给定一个字符串,请将其中的所有数字串提取,并将每个数字串作为整数看待(假设可以用int 表示),按从小到大顺序输出结果,输出的整数之间以逗号间隔。如果没有数字,则输出0;例如:*1234.345#6781ad9jk81-11101?aght88ir09kp,其中的整数包括:1234,345,6781,9,81,11101,88,9,从小到大排序后,应该输出:
9,9,81,88,345,1234,6781,11101 - 输入
- 在一行内输入一串符号,长度不大于300。输入数据保证提取的整数不超过109。
- 输出
- 从小到大排序的整数序列,如果没有数字,则输出0;
- 样例输入
-
*1234.345#6781ad9jk81-11101?aght88ir09kp
- 样例输出
-
9,9,81,88,345,1234,6781,11101
- 来源
- 元培-From Whf
- 注意姿势的模拟。可以练练点能力。。
- 我做的也不容易。。
-
一共WA了4遍 CE了1遍才A下面是代码
#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
#include <cstdio> using namespace std; struct node{
string a;
}e[];
int tot,i,s;
string str;
bool f;
bool cmp(node x,node y)
{
if(x.a.length()==y.a.length()){
if(x.a.length()!=)
{
int d=;
while(x.a[d]==y.a[d]){
++d;
}
return x.a[d]<y.a[d];
}
else return x.a[]<y.a[];
}
else return x.a.length()<y.a.length();
}
int main()
{
cin >> str;
int st=;
for (i = max (s,) ; i < str.length();++i)
{
if((str[i]>=''&&str[i]<='')&&!f)
{
st=i;
f=;
}
if(f&&(!(str[i]>=''&&str[i]<=''))) {
++tot;
while(str[st]==''&&i-st>){
st++;
}
if(st!=i)
{
for(int j=st;j<i;++j)
e[tot].a+=str[j];
}
else e[tot].a="";
f=;
st=;
}
}
if(f)
{
++tot;
while(str[st]==''&&i-st>){
st++;
}
if(st!=str.length())
for(int j=st;j<str.length();++j)
e[tot].a+=str[j];
else e[tot].a="";
}
/* if(st&&ov)
{
++tot;
for(int j=st;j<=ov;++j)
e[tot].a+=str[j];
}
*/ if(!tot)
{
cout<<"";
}
else{
sort(e+,e+tot+,cmp);
for(i=;i<tot;++i)
cout<<e[i].a<<",";
cout<<e[tot].a;
}
return ;
}点击展开
Openjudge 1.13-40 提取数字串按数值排序的更多相关文章
- Java 正则提取数字串
例如:有一个字符串:"数量最低2000份",将其中的2000数字提取出来. String arg0 = "数量最低2000份"; Pattern p = Pat ...
- Oracle中如何判断字符串是否全为数字,以及从任意字符串中提取数字
本文介绍了判断字符串是否全为数字的4种办法,另外还介绍了一个translate函数的小技巧,从任意字符串中提取数字(调用2次translate函数).这个办法是一个公司同事发现的,用起来很方便,但理解 ...
- java从字符串中提取数字的简单实例
随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...
- 【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
@Test public void test33() { String phoneString = "哈哈,13888889999"; // 提取数字 Pattern patter ...
- 解决 PHPExcel 长数字串显示为科学计数
解决 PHPExcel 长数字串显示为科学计数 在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号. ...
- sql 提取数字、字母、汉字
--提取数字 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP FUNCTION DBO.GET_NUMBER2 GO )) ) AS BEGIN BE ...
- IT公司100题-25-求字符串中的最长数字串
问题描述: 实现一个函数,求出字符串中的连续最长数字串.例如输入”12345cbf3456″,输出”12345″. 函数原型为: void conti_num_max( const char * sr ...
- TYVJ P1063 数字串 Label:双指针 线性扫描
描述 给你一个长度为n的数字串,数字串里会包含1-m这些数字.如果连续的一段数字子串包含了1-m这些数字,则称这个数字字串为NUM串.你的任务是求出长度最短的NUM串是什么,只需要输出这个长度即可.1 ...
- parseInt在IE8转换返回不相等(parseInt("08")返回0等以0开头大于7的数字串)
描述 在IE8内核下parseInt("08")返回0,等以0开头大于7的数字串返回的值不相等 解决方法 parseInt当不指定radix时,当以0x开头时,s按照十六进制计算的 ...
随机推荐
- iOS开发--Swift 最近项目开发中遇到的一些小问题与解决方法
1, Swift 修改导航栏颜色 self.navigationController?.navigationBar.barTintColor 2, Swift button 属性设置时直接进行初始化 ...
- iOS 学习 - 10下载(1) NSURLConnection 篇
程序的实现需要借助几个对象: NSURLRequest:建立了一个请求,可以指定缓存策略.超时时间.和NSURLRequest对应的还有一个NSMutableURLRequest,如果请求定义为NSM ...
- (视频)《快速创建网站》 4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术
本文是<快速创建网站>系列的第10篇(完结篇),如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文.访问本系列目录,请点击:http://devopshub.c ...
- WPF学习之路(十二)控件(Content控件)
Label Label相比TextBlock功能并不强大,但是支持键盘快捷键的方式获得焦点 <StackPanel> <Label Target="{Binding Ele ...
- 修改Mac系统的默认截图保存路径到指定目录
注:此文仅针对mac系统如果你是mac用户,会发现桌面经常一团糟,桌面到处都是平时的截图(mac系统的截图是command+shift+3 和 command+shift+4 两个快捷命令) 之前一直 ...
- ListView的监听器中OnItemClick各个参数的作用
方法的原型如下 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){ } 后面有4个参 ...
- 【转】MySQL 高可用架构在业务层面的分析研究
原文地址 http://database.51cto.com/art/201507/483463_all.htm 前言: 相对于传统行业的相对服务时间9x9x6或者9x12x5,因为互联网电子商务以及 ...
- mkfifo
管道是Linux的十种文件类型之一,使用管道通信本质上还是以文件作为通信的媒介 有名管道+无名管道=管道 有名管道(FIFO文件):就是 有文件名的管道, 可以用于任意两个进程间的通信 无名管道(pi ...
- android中的数据存取-方式一:preference(配置)
这种方式应该是用起来最简单的Android读写外部数据的方法了.他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单. 透明的方式来保存一些用户个 ...
- 小菜学Chromium之OpenGL学习之二
在这个教程里,我们一起来玩第一个OpenGL程序.它将显示一个空的OpenGL窗口,可以在窗口和全屏模式下切换,按ESC退出.它是我们以后应用程序的框架. 在CodeBlock里创建一个新的GLUT ...