阅读背景:

从N位数字串中删去M个数使剩下的数字串所表示的数值最小

来源:互联网 

此利用了贪心思想,局部解最优思想
void deletechar(char* q){
	while(*q)
	{
	*q=*(q+1);
	++q;
	}
}
void LeastString(char *s,int n, int m){
	int i=0;
	while(m>0){
		i=0;
	while(i<n-1&&s[i]<s[i+1])
		++i;
	deletechar(s+i);
	m--;
	}

}

int _tmain(int argc, _TCHAR* argv[])
{
	char s[]="13287";
		LeastString(s,4,2);
		printf("%s\n",s);
	return 0;
}void deletechar(char* q){



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: