其他分享
首页 > 其他分享> > 1084 外观数列 测试点4 超时

1084 外观数列 测试点4 超时

作者:互联网

易错点

测试点4超时

解决方案

tmps=tmps+tmpc+to_string(tmp);

改成

tmps+=tmpc+to_string(tmp);

原因

a+=b比a=a+b快很多!

因此+=的形式不仅仅是代码书写习惯的问题,关系到代码运行速度,可以尽量写成+=的形式。

代码

#include <iostream>
#include <cstdio>
#include <string>
using namespace std;


int main()
{
	int d;
	int n;
	string s;
	string tmps;
	int tmp;
	char tmpc;
	cin>>d>>n;
	s=to_string(d);
	for(int i=0;i<n-1;i++){
		tmps="";
		for(int j=0;s[j]!=NULL;j++){
			if(j==0){
				tmp=1;
				tmpc=s[j];
			}
			else if(tmpc!=s[j]){
				tmps+=tmpc+to_string(tmp);
				tmp=1;
				tmpc=s[j];
			}
			else{
				tmp++;
			}
		}
		tmps=tmps+tmpc+to_string(tmp);
		s=tmps;
	}
	cout<<s;
	return 0;
}

标签:tmp,1084,string,测试点,int,tmpc,include,超时,tmps
来源: https://www.cnblogs.com/wodeblog1982/p/16473495.html