博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
400. Nth Digit(LeetCode)
阅读量:5117 次
发布时间:2019-06-13

本文共 1208 字,大约阅读时间需要 4 分钟。

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 class Solution { 2 public: 3     int findNthDigit(int n) { 4        // step 1. calculate how many digits the number has. 5         long base = 9, digits = 1; 6         while (n - base * digits > 0) 7         { 8             n -= base * digits; 9             base *= 10;10             digits ++;11         }12 13         // step 2. calculate what the number is.14         int index = n % digits;15         if (index == 0)16             index = digits;17         long num = 1;18         for (int i = 1; i < digits; i ++)19             num *= 10;20         num += (index == digits) ? n / digits - 1 : n / digits;;21 22         // step 3. find out which digit in the number is we wanted.23         for (int i = index; i < digits; i ++)24             num /= 10;25         return num % 10;26     }27 };

 

转载于:https://www.cnblogs.com/wujufengyun/p/7197209.html

你可能感兴趣的文章
新手算法学习之路----二叉树(在一个二叉查找树中插入一个节点)
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
MySQL5.7开多实例指导
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
poj1201 查分约束系统
查看>>