剑指 Offer 44. 数字序列中某一位的数字

本题解来自:面试题44. 数字序列中某一位的数字(迭代 + 求整 / 求余,清晰图解)

方法:找规律

 剑指 Offer 44. 数字序列中某一位的数字

 剑指 Offer 44. 数字序列中某一位的数字

剑指 Offer 44. 数字序列中某一位的数字

 剑指 Offer 44. 数字序列中某一位的数字

 1 class Solution {
 2 public:
 3     int findNthDigit(int n) {
 4         int digit = 1;
 5         long long start = 1;
 6         long long count = 9;
 7         while (n > count) { // 1.
 8             n -= count;
 9             digit += 1;
10             start *= 10;
11             count = digit * start * 9;
12         }
13         long long num = start + (n - 1) / digit; // 2.
14         return to_string(num)[(n - 1) % digit] - '0'; // 3.
15 
16     }
17 };

 

相关文章:

  • 2022-12-23
  • 2021-10-26
  • 2021-09-18
  • 2021-11-11
  • 2021-09-29
  • 2021-07-11
  • 2021-08-16
猜你喜欢
  • 2021-12-15
  • 2021-08-07
  • 2021-08-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案