题目描述
给定任意一个数字 m,然后给出数字 n,则需在 m 中去掉 n 位数,保持各位顺序不变的情况下,得到最大数。
输入描述:
输入整数n,m.(1<=n<=1e100,1<=m<=100)
输出描述:
输出删除后的最大数。
示例
输入:1234 2
输出:34
测试用例通过90%,不知道哪里有问题,记录一下吧,回头再分析看看是什么情况错误了
<?php
$handel = fopen("php://stdin","r");
$s = fgets($handel);
$list = explode(" ",$s);
$m = $list[0];
$n = (int)$list[1];
for($j=0;$j<$n;$j++){
$len = strlen($m);
$index = $len-1;
for($i=0;$i<$len-1;$i++){
$s1 = substr($m,$i,1);
$s2 = substr($m,$i+1,1);
if($s1<$s2){
$index = $i;
break;
}
}
$m = substr_replace($m,'',$index,1);
}
print($m);
fclose($handel);
该博客讨论了一种算法问题,即在给定数字m中删除n位数字,保持顺序不变,求解最大可能的数字。博主提供了PHP代码实现,但测试用例通过率只有90%,可能存在逻辑错误。示例输入为12342,输出为34。博主计划回头分析并找出代码中的问题。
274

被折叠的 条评论
为什么被折叠?



