問題:在無限的整數序列 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 ...