题目:数字以012345678910111213141516,,,的格式序列化到一个字符序列中。在这个序列中,第5位是5(从0开始计数),第13位是1,第19位是4,等等。倾斜一个函数,求任意第n位对应的数字。

int countOfIntegers(int digits);
int digitAtIndex(int index, int digits);
int beginNumber(int digits);
int digitAtIndex(int index)
{
if(index < 0)
return -1;
int digits = 1;
while(true)
{
int numbers = countOfIntegers(digits);
if(index < numbers * digits)
return digitAtIndex(index, digits);
index -= digits * numbers;
digits++;
}
return -1;
}
int countOfIntegers(int digits)
{
if(digits == 1)
return 10;
int count = (int) std::pow(10, digits - 1);
return 9 * count;
}
int digitAtIndex(int index, int digits)
{
int number = beginNumber(digits) + index / digits;
int indexFromRight = digits - index % digits;
for(int i = 1; i < indexFromRight; ++i)
number /= 10;
return number % 10;
}
int beginNumber(int digits)
{
if(digits == 1)
return 0;
return (int) std::pow(10, digits - 1);
}

数字序列中某一位的数字相关推荐

  1. 【LeetCode】剑指 Offer 44. 数字序列中某一位的数字

    [LeetCode]剑指 Offer 44. 数字序列中某一位的数字 文章目录 [LeetCode]剑指 Offer 44. 数字序列中某一位的数字 package offer;public clas ...

  2. (每天一小步,进步一大步)NC291 数字序列中某一位的数字

    数字以 0123456789101112131415... 的格式作为一个字符序列,在这个序列中第 2 位(从下标 0 开始计算)是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输 ...

  3. leetcode-剑指 Offer 44. 数字序列中某一位的数字

    记录需要找数字规律的题: 数字以0123456789101112131415-的格式序列化到一个字符序列中.在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等.请写一个函数 ...

  4. 【LeetCode笔记】剑指 Offer 44. 数字序列中某一位的数字(Java、偏数学)

    文章目录 题目描述 思路 && 代码 题目描述 比较偏数学的一道题..众所周知这类题代码量都不大,但是就是难想= = 思路 && 代码 这篇题解写得很好- 建议还是直接 ...

  5. 剑指 Offer 44. 数字序列中某一位的数字

    class Solution {public int findNthDigit(int n) {int digit = 1; // 该数的位数long start = 1; // 该位数的起始值,1位 ...

  6. leetcode算法题--数字序列中某一位的数字

    原题链接:https://leetcode-cn.com/problems/shu-zi-xu-lie-zhong-mou-yi-wei-de-shu-zi-lcof/ int findNthDigi ...

  7. [剑指offer]面试题第[44]题[JAVA][数字序列中某一位的数字][找规律]

    [问题描述][中等] [解答思路] 找规律 时间复杂度:O(logN) 空间复杂度:O(logN) class Solution {public int findNthDigit(int n) {in ...

  8. CF628D Magic Numbers (数据大+数位dp)求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数...

    题意:求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数(这里的偶数位是的是从高位往低位数的偶数位).a,b<10^2000,m≤2000,0≤d≤9 a,b< ...

  9. 得到一个数字中每一位的数字

    学习编程也有一段时间了,随着学习的不断深入,我越来越体会到了算法的重要性,最近遇到了一些非常有意思的算法,比如打印水仙花数.将数字逆置,在这两个算法中会用到一个数字钟每一位的值 如:判断数字123是否 ...

  10. 求数字序列中的第n位对应的数字

    文章目录 题目 思路 代码 复杂度分析 致谢 题目 数字以0123456789101112131415-的格式序列化到一个字符序列中.在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19 ...

最新文章

  1. 真我与小我隔着什么?
  2. 2021年3月程序员工资统计数据出炉,又拖后腿了……
  3. 帝国Cms虚拟主机突破上传最大文件2m的限制的方法
  4. openstack常用命令及控制节点端口一览
  5. 有些事情女孩子越早知道越容易幸福
  6. Ch5501-环路运输【环形处理dp】
  7. C++ STL容器值set
  8. c++语言成绩统计系统数组,急求!!!关于学生成绩管理系统的C++ 结构体数组...
  9. 拯救你的年终报告!巧用可视化图表秀出年终业绩
  10. python和台达plc通讯_台达PLC通信协议ModbusASCIIDVP
  11. Centos和Ubuntu下定制普通用户访问权限
  12. 学习计算机语言入门必看
  13. edem颗粒替换_EDEM常见问题
  14. 淘汰安卓机废物利用(三) 网站服务器,安卓手机当服务器的方法,完成废物利用...
  15. CAD2006注册机不能显示激活码
  16. 原创-VBA金税盘开票XML生成
  17. 中庸——粗浅阅读后的感受,在此勉励
  18. couldn't set tty to ppp discipline invalid argument
  19. 小白面试:EF Core的三种事务
  20. JS鼠标点击自动选中点击元素中的文字

热门文章

  1. IntelliJ IDEA安装lombok
  2. 最新最全linux系统调优指南(centos7.X)
  3. android的GCM研究
  4. 安装Office2007
  5. mysql查询前一年的第一天_MySQL中查询某一天, 某一月, 某一年的数据代码详解
  6. STC学习:可切换内容的电子音乐
  7. 计算机控制技术证书可以考吗,计算机控制技术专业可考哪些资格证书
  8. java接口抽象方法_Java接口、接口和抽象类:
  9. 用python打印心形_Python和Js打印心形
  10. mysql语句详解_mysql基础篇 - SELECT 语句详解