第N個數字

2021-10-09 23:28:39 字數 955 閱讀 3615

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