【发布时间】:2018-09-06 12:25:03
【问题描述】:
例如,如果给定一个等于 3 的 n,那么说出 999 的最有效方法是什么。
这是我现在得到的,但我想知道是否有更优雅的方式。
public static int largestPossibleNumber(int numDigits) {
return Integer.parseInt(new String(new char[numDigits]).replace("\0", "9"));
}
示例用法:
for (int i = 1; i <= 5; i++) {
System.out.println(largestPossibleNumber(i));
}
输出:
9
99
999
9999
99999
【问题讨论】:
-
如果有帮助,它是 N 的 10,负 1。
-
如果您正在寻找最快的方法,您可以预先计算一个数组
{0, 9, 99, 999, ..., 99999999 },然后按索引取值 -
啊...我的大脑早上不是最好的...谢谢@khelwood
-
@DmitryBychenko 我想你会使用与khelwood相同的想法来填写数组?
-
@LogicNewbie:我建议硬编码
private static int[] data = {0, 9, 99, 999, 9999, 99999, 999999, 9999999, 99999999};
标签: java algorithm performance