问题 J: 数字字符串(str)

问题 J: 数字字符串(str)★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 42  解决: 24
[提交][状态][命题人:]

题目描述

C喜欢在编程时喜欢使用字符串。现在小C获得了一个由 ‘0’ 到 ‘9’ 之间的字符构成的数字字符串s,小C可以对字符串s中的任一字符s[i]做以下操作:将 s[i] 的值变为 min(s[i]+1,'9'),也就是 s[i]+1 与 ‘9’ 之间的较小值,并将它移动到任意位置(无论是任意两个字符中间,还是字符串的最前面或最后面)。

C可以对字符串s做任意次的操作。现在请你帮他计算一下,小C能够获得的最小字典序的数字字符串是什么?

输入

一个数字字符串s

输出

可获得的最小字典序的数字字符串
样例输入
Copy
04829
样例输出
Copy
02599

提示

样例2输入

13

样例2输出

13

【样例解释】

    对于样例1,小C会将‘8’变为‘9’并放到字符串最后,将‘4’变为‘5’并放到‘2’之后,这样获得的字符串字典序最小字符串“02599”。

【数据范围约定】

对于10%的数据,字符长度

对于30%的数据,字符长度5;

对于60%的数据,字符长度1000;

    对于所有数据,1字符长度200000。

[提交][状态]