Nth Digit问题及解法
来源:互联网 发布:网络电视必须买盒子么 编辑:程序博客网 时间:2024/06/07 10:14
问题描述:
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).
示例:
Input:3Output:3
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.计算第n个digit在什么数范围内
2.把这个数(number)求解出来
3.具体求出是这个数(number)中的哪一位数字
过程详见代码:
class Solution {public: int findNthDigit(int n) { long base = 9, digits = 1; while (n - base * digits > 0) { n -= base * digits; base *= 10; digits ++; } int index = n % digits; if (index == 0) index = digits; long num = 1; for (int i = 1; i < digits; i ++) num *= 10; num += (index == digits) ? n / digits - 1 : n / digits; for (int i = index; i < digits; i ++) num /= 10; return num % 10; }};
0 0
- Nth Digit问题及解法
- Remove Nth Node From End of List问题及解法
- Nth Digit
- Nth Digit
- Nth Digit
- Nth Digit
- Nth Digit
- find the nth digit
- find the nth digit
- find the nth digit
- find the nth digit
- hdoj1597find the nth digit
- find the nth digit
- find the nth digit
- 【Leetcode】400. Nth Digit
- 400. Nth Digit
- LeetCode 400 Nth Digit
- [Leetcode] Nth Digit
- 获取View的宽高
- 下午茶时间 玩会儿数据注入 让DI带我装逼带我灰
- 多个处理器和多核处理器的区别
- AC自动机专题——F
- ios开发之 -- 调用系统定位获取当前经纬度与地理信息
- Nth Digit问题及解法
- js数组方法总结
- 数据结构——树的遍历相关笔试题
- HDU
- 【C++】浅谈C++模板
- GET请求和POST请求的参数
- 前端常用组件汇总
- Third Maximum Number问题及解法
- ACdream 1015 Double Kings 树的重心