數字以0123456789101112131415…的格式序列化到乙個字串行中。在這個序列中,第5位(從下標0開始計數)是5,第13位是1,第19位是4,等等。
請寫乙個函式,求任意第n位對應的數字。
意思大概是這麼個意思,但是輪到自己寫的時候總是出錯,不知道為啥,於是改了種方法,就是n為兩位數以上的時候直接先減9,免得0干擾。
class solution
n = n - 9;
long base = 90,digits = 2;
while (n - base * digits > 0)
long number = getbeginnumber(digits) + n / digits;
int index = n % digits;
if(index == 0)
for(int i = 0;i < digits - index;i++)
return number % 10;
}long getbeginnumber(int dig)
int sum = 1;
for(int i = 1;i < dig;i++)
return sum;}};
劍指offer 數字序列中某一位的數字
數字以0123456789101112131415 的格式序列化到乙個字串行中。在這個序列中,第5位 從0開始計數 是5,第13位是1,第19位是4,等等。請寫乙個函式求任意位對應的數字。主要思路 舉例分析,比如找第1001位數字,1 1位數的數值有10個 0 9,數字為10 1 10個,顯然100...
劍指offer 數字序列中某一位的數字
數字以0123456789101112131415 的格式序列化到乙個字串行中。在這個序列中,第5位 從下標0開始計數 是5,第13位是1,第19位是4,等等。請寫乙個函式,求任意第n位對應的數字。示例 1 輸入 n 3輸出 3示例 2 輸入 n 11輸出 0解題思路 用最簡單的方法,依次遍歷,計算...
劍指 Offer數字序列中某一位的數字
數字以0123456789101112131415 的格式序列化到乙個字串行中。在這個序列中,第5位 從下標0開始計數 是5,第13位是1,第19位是4,等等。請寫乙個函式,求任意第n位對應的數字。示例 1 輸入 n 3 輸出 3 示例 2 輸入 n 11 輸出 0 所以,要想求第n位對應的數字,可...