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';
}
};
相關文章
- LeetCode878. 第 N 個神奇數字(java)LeetCodeJava
- leetcode-019-刪除連結串列倒數第N個結點(Remove Nth Node From End of List)LeetCodeREM
- nth_element 找第k大的數
- CSS E:nth-of-type(n)CSS
- CSS E:nth-child(n)CSS
- CSS E:nth-last-of-type(n)CSSAST
- CSS E:nth-last-child(n)CSSAST
- CSS 倒數第n個li元素樣式CSS
- LeetCode 1137第N個斐波那契數LeetCode
- LeetCode 1137[第N個泰波那契數]LeetCode
- 【leetcode】19. 刪除連結串列的倒數第N個節點(remove-nth-node-from-end-of-list)(雙指標)[中等]LeetCodeREM指標
- L1-050 倒數第N個字串 (15分)字串
- 166. 連結串列倒數第n個節點
- Martyr2專案實現——Number部分的問題求解 (1) Find Pi to Nth DigitGit
- 輸入N,再輸入N個數,N
- 2022-07-17:1、2、3...n-1、n、n、n+1、n+2... 在這個序列中,只有一個數字有重複(n)。 這
- 0011 刪除連結串列的倒數第N個節點
- JavaScript 獲取第n個li元素JavaScript
- jQuery查詢第n個li元素jQuery
- CSS 第N個子元素樣式CSS
- Java語言非遞迴求第n個斐波那契數Java遞迴
- 19. 刪除連結串列的倒數第 N 個結點
- css 中 nth-child、first-child、last-child 的使用(選中第一個,第幾個,第幾個到第幾個,最後一個等)CSSAST
- HDU 1060 Leftmost Digit(數論,c++)GitC++
- 寫一個方法,傳入數字x,從一個一維陣列裡找到兩個數字符合“n1 + n2 = x”陣列
- LeetCode- 19 刪除連結串列的倒數第N個節點LeetCode
- 題19. 刪除連結串列的倒數第N個節點
- Leetcode No.19 刪除連結串列的倒數第N個節點LeetCode
- 快排思想O(N)求第k大數
- n個骰子的點數
- CSS設定第n個li元素樣式CSS
- CSS 設定第n個li元素樣式CSS
- 獲取陣列第N個元素的方法陣列
- 2020-10-18 刪除連結串列的倒數第N個節點
- 指標-n個數的排序指標排序
- 3070 n個整數“打擂臺”
- 2024.9.6 leetcode 1137 第 N 個泰波那契數 (雜湊表/動態規劃)LeetCode動態規劃
- L1-009 N個數求和