modify code

master
algorithmzuo 3 years ago
parent eab4e42b36
commit 2f5c5e590d

@ -24,9 +24,10 @@ public class Code03_OneNumber {
return res; return res;
} }
// 测试链接 :
// 1 ~ num 这个范围上画了几道1 // https://leetcode.cn/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof/
public static int solution2(int num) { // 提交如下方法可以直接通过
public static int countDigitOne(int num) {
if (num < 1) { if (num < 1) {
return 0; return 0;
} }
@ -51,7 +52,7 @@ public class Code03_OneNumber {
// 最高位1 10(k-2次方) * (k-1) * 1 // 最高位1 10(k-2次方) * (k-1) * 1
// 最高位first 10(k-2次方) * (k-1) * first // 最高位first 10(k-2次方) * (k-1) * first
int otherOneNum = first * (len - 1) * (tmp1 / 10); int otherOneNum = first * (len - 1) * (tmp1 / 10);
return firstOneNum + otherOneNum + solution2(num % tmp1); return firstOneNum + otherOneNum + countDigitOne(num % tmp1);
} }
public static int getLenOfNum(int num) { public static int getLenOfNum(int num) {
@ -75,7 +76,7 @@ public class Code03_OneNumber {
System.out.println("cost time: " + (end1 - start1) + " ms"); System.out.println("cost time: " + (end1 - start1) + " ms");
long start2 = System.currentTimeMillis(); long start2 = System.currentTimeMillis();
System.out.println(solution2(num)); System.out.println(countDigitOne(num));
long end2 = System.currentTimeMillis(); long end2 = System.currentTimeMillis();
System.out.println("cost time: " + (end2 - start2) + " ms"); System.out.println("cost time: " + (end2 - start2) + " ms");

Loading…
Cancel
Save