400. Nth Digit
来源:互联网 发布:淘宝保证金计划打不开 编辑:程序博客网 时间:2024/06/05 03:55
Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …
Note:
n is positive and will fit within the range of a 32-bit signed integer (n < 231).
Example 1:
Input:3Output:3
Example 2:
Input:11Output:0Explanation:The 11th digit of the sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... is a 0, which is part of the number 10.
思路:
1~9 9个数 9*1=9个digit
10~99 90个数 90*2=180个digit
100~999 900个数 900*3=2700个digit
10^k ~ k个9连成的数 9*10^k个数 (90*10^k)*k个digit
class Solution { public int findNthDigit(int n) { int k = 1; long len = 0; while (n > len) { len += (int) (9 * k * Math.pow(10, k - 1)); k++; } k--; len -= (int) (9 * k * Math.pow(10, k - 1)); int num = 0; if ((n - len) % k == 0) { num = (int) ((int) Math.pow(10, k - 1) + (n - len) / k - 1); String s = String.valueOf(num); return Integer.parseInt("" + s.charAt(s.length() - 1)); } else { num = (int) ((int) Math.pow(10, k - 1) + (n - len) / k); String s = String.valueOf(num); return Integer.parseInt("" + s.charAt((int) ((n - len) % k - 1))); } }}
阅读全文
0 0
- 【Leetcode】400. Nth Digit
- 400. Nth Digit
- leetcode 400. Nth Digit
- 400. Nth Digit
- 400. Nth Digit
- 400. Nth Digit (leetcode) 。。。
- [LeetCode]400. Nth Digit
- [leetcode] 400. Nth Digit
- 400. Nth Digit
- [LeetCode]--400. Nth Digit
- 400. Nth Digit
- leetcode 400. Nth Digit
- LeetCode 400. Nth Digit
- 400. Nth Digit
- 400. Nth Digit
- [leetcode]400. Nth Digit
- Leetcode 400. Nth Digit
- 400. Nth Digit
- [BZOJ]3738: [Ontak2013]Kapitał 扩展lucas
- Hadoop搭建过程中实现master与slave无密码登录
- CMake错误No CMAKE_CXX_COMPILER could be found.
- PCB中电流如何流动——差分电流如何流动
- 32. Longest Valid Parentheses
- 400. Nth Digit
- [转]HUSTOJ建立分布式判题系统
- ruby普通二分查找和递归二分查找
- ObjectMapper JSON的 处理
- lintcode&九章算法——Lintcode No.77. 最长公共子序列 ? 待解决
- Intellij IDEA SpringBoot热部署 使用Spring-boot-devTools无效解决办法
- 判断是否是素数
- 编写高效的C++程序
- 168. Excel Sheet Column Title