Nth Digit 第N個數字
在無限的整數序列 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:找到位於第幾個序列(1~9為第一個序列,10~99為第二個序列,100~999為第三個序列,以此類推)
步驟2:找到位於序列的第幾個數
步驟3:找到位於第幾個數的第幾位
步驟一詳解:1~9有9個數,10~99有90個數,100~999有900個數,所以第n個序列有9*10*n個數
步驟二詳解:比如已經定位到第三個序列,因為第三個序列每個數字都有三位,所以通過除三來定位在第幾個數
步驟三詳解:如何定位到第幾位呢?可以通過取餘的方法來定位,同理,依然是通過對3取餘
參考程式碼:
class Solution {
public:
//1~9 9個,10~99 90個,100~999 900個
int findNthDigit(int n) {
//先找到處在第幾個序列,第一個序列1~9,第二個序列10~99,以此類推。。。
int weight = 1;
int index = 1;
long long sum = 9 * weight*index;
while ((((float)n)/sum) >1.0) {
n -= sum;
weight *= 10;
index++;
sum= 9 * weight*index;
}
//然後找位於序列的哪個數
string nth = to_string(((n - 1) / index) + weight);
//然後找到哪個數的第幾位
return nth[((n - 1) % index)] - '0';
}
};
相關文章
- Nth Digit【難】Git
- Leetcode 400.Nth DigitLeetCodeGit
- LeetCode878. 第 N 個神奇數字(java)LeetCodeJava
- [LeetCode] Remove Nth Node From End of List 移除連結串列倒數第N個節點LeetCodeREM
- CSS E:nth-child(n)CSS
- CSS E:nth-of-type(n)CSS
- css如何匹配倒數第n個元素CSS
- leetcode-019-刪除連結串列倒數第N個結點(Remove Nth Node From End of List)LeetCodeREM
- CSS 倒數第n個li元素樣式CSS
- CSS E:nth-last-of-type(n)CSSAST
- CSS E:nth-last-child(n)CSSAST
- L1-050 倒數第N個字串 (15分)字串
- 【leetcode】19. 刪除連結串列的倒數第N個節點(remove-nth-node-from-end-of-list)(雙指標)[中等]LeetCodeREM指標
- LeetCode 1137第N個斐波那契數LeetCode
- CSS 第N個子元素樣式CSS
- JavaScript 獲取第n個li元素JavaScript
- jQuery查詢第n個li元素jQuery
- Java語言非遞迴求第n個斐波那契數Java遞迴
- 19. 刪除連結串列的倒數第 N 個結點
- Martyr2專案實現——Number部分的問題求解 (1) Find Pi to Nth DigitGit
- css 中 nth-child、first-child、last-child 的使用(選中第一個,第幾個,第幾個到第幾個,最後一個等)CSSAST
- 獲取陣列第N個元素的方法陣列
- CSS設定第n個li元素樣式CSS
- CSS 設定第n個li元素樣式CSS
- 求無序陣列總第n大的數陣列
- 指標-n個數的排序指標排序
- 對N個數進行排序排序
- Leetcode No.19 刪除連結串列的倒數第N個節點LeetCode
- LeetCode- 19 刪除連結串列的倒數第N個節點LeetCode
- jQuery在元素集合中獲取第N個元素jQuery
- 讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
- 斐波那契數列的第N項(1≤n≤10^18 矩陣快速冪)矩陣
- 《Cracking the Coding Interview程式設計師面試金典》----從0到n中某個數字的個數View程式設計師面試
- 菲波那契數——根據輸入資料中的n,輸出第n項菲波那契數
- 有一組整數資料,全部除以一個整數a,使得餘數是同n種數字,如何計算出這個整數a的全部可能。
- L1-009 N個數求和
- 3070 n個整數“打擂臺”
- CSS 設定從第n個開始li元素樣式CSS