数字列を抽出して数値でソートする(考え方)
1072 ワード
最近この方法Aで多くの検索问题を过ぎて、例えば:区间の出现回数が半分を超える数を探して、出现回数が奇数の数を探して、次のこの问题があって、使う思想は基本的に同じで、核心コードは1つのifにほかならない....else.....文.
しかし、この問題にはatoi関数が必要です.もし使えないなら、私のこのブログ「ISBNコード(atoiとitoaについて)」を参考にしてください.
コードは次のとおりです.
しかし、この問題にはatoi関数が必要です.もし使えないなら、私のこのブログ「ISBNコード(atoiとitoaについて)」を参考にしてください.
コードは次のとおりです.
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long long
ll ans[10000000];
int main()
{
string s;
cin>>s;
ll array[1000];char c[10000]={0};ll n,m;ll j=0;char *p;ll sum,num=0;
m=s.size();s[m]='q';
for(ll i=0;i='0'&&s[i]<='9')&&(s[i+1]>='0'&&s[i+1]<='9')) {c[j++]=s[i];}
else if((s[i]>='0'&&s[i]<='9')&&(s[i+1]'9')){c[j]=s[i];j++;p=c;ans[num++]=atoi(p);memset(c,0,sizeof(c));j=0;}
}
if(num==0) {cout<<0;return 0;}
sort(ans,ans+num);
for(ll i=0;i