leetcode 400. Nth Digit 第n个数字是什么
来源:互联网 发布:女生性格 知乎 编辑:程序博客网 时间:2024/04/27 20:31
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:
3
Output:
3
Example 2:
Input:
11
Output:
0
Explanation:
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.
题意很简单,直接使用字符串来做肯定超时,但是我还是喜欢这种方法
代码如下:
#include <iostream>#include <vector>#include <map>#include <set>#include <queue>#include <stack>#include <string>#include <climits>#include <algorithm>#include <sstream>using namespace std;class Solution {public: int findNthDigit(int n) { string res = ""; for (int i = 1; i <= n; i++) { res += to_string(i); if (res.length() >= n) return (res[n - 1] - '0'); } }};
下面是网上的一个教程的做法,很麻烦,我还是选择上面简单的做法
代码如下:
#include <iostream>#include <vector>#include <map>#include <set>#include <queue>#include <stack>#include <string>#include <climits>#include <algorithm>#include <sstream>using namespace std;class Solution{public: int findNthDigit(int n) { // step 1. calculate how many digits the number has. long base = 9, digits = 1; while (n - base * digits > 0) { n -= base * digits; base *= 10; digits++; } // step 2. calculate what the number is. 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;; // step 3. find out which digit in the number is we wanted. for (int i = index; i < digits; i++) num /= 10; return num % 10; }};
阅读全文
0 0
- leetcode 400. Nth Digit 第n个数字是什么
- Leetcode 400. Nth Digit 第n个数字 解题报告
- 400. Nth Digit (找第n个数字)
- (hdu step 4.1.5)find the nth digit(求S串中的第n个位置上是什么数字)
- leetcode_400. Nth Digit 查找自然数序列中的第n个数字
- 【Leetcode】400. Nth Digit
- leetcode 400. Nth Digit
- 400. Nth Digit (leetcode) 。。。
- [LeetCode]400. Nth Digit
- [leetcode] 400. Nth Digit
- [LeetCode]--400. Nth Digit
- leetcode 400. Nth Digit
- LeetCode 400. Nth Digit
- [leetcode]400. Nth Digit
- Leetcode 400. Nth Digit
- LeetCode 400. Nth Digit
- 【LeetCode】 400. Nth Digit
- LeetCode 400. Nth Digit
- PT上的NAT配置
- 错误 java.lang.NoSuchMethodError: No static method getFont
- Elasticsearch6.x之单机安装-yellowcong
- 在目标检测任务中如何计算评价指标-Recall,Precision以及画出PR曲线
- 动态添加表格与删除、获取表格中输入的值
- leetcode 400. Nth Digit 第n个数字是什么
- git fork 的使用理解(git fetch 拉取而不合并)
- 【Scikit-Learn 中文文档】内核近似
- VC获得本机网络连接状态
- IT伦理与道德:Google的“不作恶”准则
- java中什么叫迭代,什么叫迭代器
- java-泛型
- android应用调试之如何保存logcat日志到本地
- vue 合并表格行