在無限的整數序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 中找到第 n 個數字。
注意:n 是正數且在32位整數範圍內 ( n < 2
示例 1:
輸入:3
輸出:3
示例 2:
輸入:11
輸出:0
說明:第11個數字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 裡是0,它是10的一部分。其實相當於一串數字組成的字串("12345678910111213141516"等無限長但小於計算機32位所表示位數),尋找指定第 n 個字元,例如這裡的第二十三位字元是6。
思路:區間 數字個數 字元數個數 字元數累積總和
1-9 9 9*1=9 9
10-99 90 90*2=180 180+9=189
100-999 900 900*3=2700 2700+189=2889
... 9 * 10^(位數-1) 數字個數* 位數 累積和
package com.loo;
public class findnumber
public static int findnumber(int num)
long n = num;
long size = 1;
long max = 9;
while (num > 0) else else }}
return 0;}}
LeetCode400 第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的一部分。...
400 第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...
Leetcode 400 第N個數字 C
在無限的整數序列 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 9,...