-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNth Digit.js
More file actions
40 lines (32 loc) · 809 Bytes
/
Nth Digit.js
File metadata and controls
40 lines (32 loc) · 809 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*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.*/
/**
* @param {number} n
* @return {number}
*/
var findNthDigit = function(n) {
digit = 1
count = 9
while(n-digit*count>0){
n -= digit*count
digit++ // 1, 2, 3, 4, ...
count *= 10 // 9, 90, 900, 9000, ...
}
base = Math.pow(10,digit-1) // 1, 10, 100, 1000, ...
number = (base + Math.floor((n-1)/digit)).toString()
mod = (n-1) % digit
return parseInt(number[mod])
};