剑指Offer——数字序列中某一位的数字(JS实现)

题目描述

解题思路(数学规律)

  • 本题主要是寻找数学规律,通过暴力的方法肯定是超时的,下面就简单介绍下本题的解题思路,我认为核心还是在于理解将字符串拆分为不同位数的区间。
  1. 首先判断n在哪一个区间,区间的划分按照 1 – 9,10-99,100-999…
  2. 计算下标n在当前区间的哪一个
  3. 求出n下标对应的真实的数字
  4. 求出该真实数字的哪一位是我们最终要返回的结果

公式

n下标对应的真实数字=区间起始值+(区间第几个1/第几个区间n下标对应的真实数字 = 区间起始值 + (区间第几个 – 1) / 第几个区间

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享