diff --git a/notes/43. 从 1 到 n 整数中 1 出现的次数.md b/notes/43. 从 1 到 n 整数中 1 出现的次数.md index 89323cc8..2a947e23 100644 --- a/notes/43. 从 1 到 n 整数中 1 出现的次数.md +++ b/notes/43. 从 1 到 n 整数中 1 出现的次数.md @@ -1,14 +1,14 @@ # 43. 从 1 到 n 整数中 1 出现的次数 -[NowCoder](https://www.nowcoder.com/practice/bd7f978302044eee894445e244c7eee6?tpId=13&tqId=11184&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking&from=cyc_github) +[Leetcode](https://leetcode.cn/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof/) ## 解题思路 ```java -public int NumberOf1Between1AndN_Solution(int n) { +public int digitOneInNumber(int num) { int cnt = 0; - for (int m = 1; m <= n; m *= 10) { - int a = n / m, b = n % m; + for (long m = 1; m <= num; m *= 10) { + long a = num / m, b = num % m; cnt += (a + 8) / 10 * m + (a % 10 == 1 ? b + 1 : 0); } return cnt;