题目:输入整型n,构造一个字符串:1234……N,输出第N位的数字。
如:输入:N = 11, 1234567891011,
输出:0
解:
使用:测试驱动开发
测试样例:
cal(9)
cal (11)
cal (int.maxvalue)
cal (int.maxvalue+1)
function cal($num) {
print($num."\n");`
$len = 0;
for($i = 1; $i <= $num; $i++) {
$len += strlen($i);
if($len >= $num) {
$gap = $len - $num;
$arr = str_split($i);
return ($arr[strlen($i) - $gap - 1] . "\n");
}
}
}
时间复杂度:O(n)
空间复杂度:O(1)
本文介绍了一种求解特定位置数字的算法,通过输入整数N,构造字符串1234...N,并输出该字符串中第N位的数字。算法采用测试驱动开发,提供了多个测试案例,包括边界条件。实现代码使用PHP编写,时间复杂度为O(n),空间复杂度为O(1)。

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



