LeetCode400 第N個數字

2021-09-11 20:45:33 字數 770 閱讀 5014

在無限的整數序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …中找到第 n 個數字。

注意:n 是正數且在32為整形範圍內 ( n < 231)。

示例 1:

輸入:3

輸出:3

示例 2:

輸入:11

輸出:0

說明:第11個數字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, … 裡是0,它是10的一部分。

思路: 詳見該博主

int

findnthdigit

(int n)

long cur_len =0;

long i =1;

// 位數

long tmp =0;

for(i =

1; cur_len < n; i++

) i--

; cur_len -

= tmp;

long front =

pow(

10, i -1)

-1;long num = front +

(n - cur_len)

/i;long more =

(n - cur_len)

%i;if(0

== more)

return

(int)(

(num +1)

/(pow(

10, i - more)))

%10;}

Leetcode 400 第N個數字 C

在無限的整數序列 1,2,3,4,5,6,7,8,9,10,11,中找到第 n 個數字。注意 n 是正數且在32位整數範圍內 n 231 示例 1 輸入 3輸出 3示例 2 輸入 11輸出 0說明 第11個數字在序列 1,2,3,4,5,6,7,8,9,10,11,裡是0,它是10的一部分。1 9,...

leetcode 400 第N個數字(數學)

位數 個數 1 92 90x2 3 900x3 先定他是幾位數。如果他是3位數,減去一位數的個數總和,減去一位數的個數總和,代表的就是從100開始他是第幾個數了,除以3,則可以判斷他是在從100開始的第幾個數裡面,再利用取餘,就可以判斷出他是這個數裡面的第幾個了。int main 定位數。int c...

LeetCode 400 第N位數字

給你乙個整數n,請你在無限的整數序列 1,2,3,4,5,6,7,8,9,10,11,中找出並返回第n位數字。示例 1 輸入 n 3輸出 3示例 2 輸入 n 11輸出 0解釋 第 11 位數字在序列 1,2,3,4,5,6,7,8,9,10,11,裡是0,它是 10 的一部分。思路 假設數字位數為...