劍指offer 面試題44 數字序列中某一位的數字

2021-10-04 09:52:27 字數 490 閱讀 1053

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

輸入:n

輸出:數字

思路:

判斷是幾位數

確定對應著的數值target

確定返回值是target中的哪個位

**:

class solution

int beginnumber(int digits)

int digitatindex(int n,int digits)

{int number=beginnumber(digits)+n/digits;

int indexfromright=digits-n%digits;

if(n%digits==0)

return (number-1)%10;

for(int i=0;i複雜度分析:時間複雜度為o(logn),空間複雜度為o(1).

劍指 面試題44 數字序列中某一位的數字

題目數字以0123456789101112131415 的格式序列化到乙個字串行中。在這個序列中,第5位 從下標0開始計數 是5,第13位是1,第19位是4,等等。請寫乙個函式,求任意第n位對應的數字。思路參考leetcode題解 對於第n位對應的數字,令這個數字對應的數為target,然後分三步進...

面試題44 數字序列中某一位的數字

題目 數字以0123456789101112131415 的格式序列化到乙個字串行中。在這個序列中,第5位 從0開始計數 是5,第13位是1,第19位是4,等等。請寫乙個函式求任意位對應的數字。code include include include include include include ...

劍指offer 44 數字序列中某一位的數字

這種數學題好難 參考 1 理解題意 以第15位數字2為例 2隸屬與12,兩位數,位於12從左側以0號開始下標為1的位置 步驟1 首先確定該數字是屬於幾位數的 如果是一位數,n 9 如果是兩位數,n 9 90 2 189 說明是兩位數。步驟2 確定該數字屬於哪個數。10 15 10 2 12。步驟3 ...