去“5”排序
輸入一行數字,如果我們把這行數字中的‘5’都看成空格,那麼就得到一行用空格分割的若干非負整數(可能有些整數以‘0’開頭,這些頭部的‘0’應該被忽略掉,除非這個整數就是由若干個‘0’組成的,這時這個整數就是0)。
你的任務是:對這些分割得到的整數,依從小到大的順序排序輸出。
Input
輸入包含多組測試用例,每組輸入資料只有一行數字(數字之間沒有空格),這行數字的長度不大於1000。
輸入資料保證:分割得到的非負整數不會大於100000000;輸入資料不可能全由‘5’組成。
Output
對於每個測試用例,輸出分割得到的整數排序的結果,相鄰的兩個整數之間用一個空格分開,每組輸出佔一行。
Sample Input
0051231232050775
Sample Output
0 77 12312320
利用 C++ stringstream 轉換輸入流為字串,達到自動分割數字的目的
AC碼:
#include<cstring>
#include<sstream>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1000;
int a[maxn];
int main()
{
string str;
while(cin>>str)
{
for(int i=0;i<str.length() ;i++)
{
if(str[i]=='5')
str[i]=' ';
}
int n=0,x;
stringstream ss(str);
while(ss>>x)
a[n++]=x;
sort(a,a+n);
for(int i=0;i<n-1;i++)
cout<<a[i]<<" ";
cout<<a[n-1]<<endl;
}
return 0;
}
還有一種:
#include <algorithm>
using namespace std;
string str;
int num[1010]; //記錄下字串中的數字
int main() {
// freopen( "in.txt","r",stdin );
int sum,len,i;
while( cin >> str ) {
i = len = sum = 0;
//去前導'5'
while( str[i]=='5' )
i++;
for( ; i<str.length() ; i++ ) {
if( str[i]=='5' ) {
//當兩個5是連續時,num=0,此時num不記錄
if( str[i-1]!='5' ) {
num[len++] = sum;
sum = 0;
}
continue;
}
sum = sum * 10 + str[i] - '0';
}
//如果末尾不為'5',則加入num,因為迴圈中是逢'5'新增num
if( str[str.length()-1]!='5' ) {
num[len++] = sum;
}
sort( num,num+len );
for( i=0 ; i<len-1 ; i++ )
cout << num[i] << " ";
cout << num[len-1] << endl;
}
}
相關文章
- 陣列的去重和排序陣列排序
- java TreeSet去重與排序入門Java排序
- 一道面試題:去重排序面試題排序
- 陣列物件的去重然後排序陣列物件排序
- Sort排序專題(5)快速排序(QuickSort)(C++實現)排序UIC++
- rust-algorithms:5-梳排序RustGo排序
- 有點難以描述的問題(轉列+排序+去重)排序
- 09_ClickHouse,ReplacingMergeTree,案例,根據排序鍵去重,使用版本引數的去重(學習筆記)排序筆記
- 一行程式碼實現陣列降維去重排序行程陣列排序
- 2019 跟著圖靈聽課去(5月)圖靈
- 2018 跟著圖靈聽課去(5月)圖靈
- 《演算法筆記》5. 字首樹、桶排序、排序演算法總結演算法筆記排序
- 第 10 節:複合型別 1.4 氣泡排序與陣列去重型別排序陣列
- 陣列及陣列物件操作 ----------包括排序,去重,合併,翻轉等陣列物件排序
- 5G多址技術何去何從?
- 習題9-5 通訊錄排序 (20分)排序
- task5 排序搜尋計數及集合操作排序
- 排序:氣泡排序&快速排序排序
- PostgreSQL 原始碼解讀(197)- 查詢#112(排序#5 - mergeruns)SQL原始碼排序
- 【排序】插入類排序—(折半)插入排序、希爾排序排序
- php插入排序,快速排序,歸併排序,堆排序PHP排序
- L1-098 再進去幾個人 分數 5
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- 插入排序排序排序
- 排序之交換排序排序
- 排序——氣泡排序排序
- 排序之快速排序排序
- PHP 常見4種排序 氣泡排序、選擇排序、插入排序、快速排序PHP排序
- Remove.bg 免費圖片去背線上工具,5 秒輕鬆幫人物去背景,連我阿嬤都會去背!- TechMoon 科技月球REM
- 前端面試一個月,收到了5個offer,該去哪前端面試
- [譯]5個簡單的步驟去理解 JSON Web Tokens(JWT)JSONWebJWT
- Python八大演算法的實現,插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、堆排序、歸併排序、基數排序。Python演算法排序
- 快速排序&&歸併排序排序
- 非交換排序-計數排序和桶排序排序
- 計數排序vs基數排序vs桶排序排序
- 氣泡排序、歸併排序與快速排序比較排序
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- 用白碼,5分鐘就可以實現客戶去重