数字序列中某一位的数字
题目:数字以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);
}
数字序列中某一位的数字相关推荐
- 【LeetCode】剑指 Offer 44. 数字序列中某一位的数字
[LeetCode]剑指 Offer 44. 数字序列中某一位的数字 文章目录 [LeetCode]剑指 Offer 44. 数字序列中某一位的数字 package offer;public clas ...
- (每天一小步,进步一大步)NC291 数字序列中某一位的数字
数字以 0123456789101112131415... 的格式作为一个字符序列,在这个序列中第 2 位(从下标 0 开始计算)是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输 ...
- leetcode-剑指 Offer 44. 数字序列中某一位的数字
记录需要找数字规律的题: 数字以0123456789101112131415-的格式序列化到一个字符序列中.在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等.请写一个函数 ...
- 【LeetCode笔记】剑指 Offer 44. 数字序列中某一位的数字(Java、偏数学)
文章目录 题目描述 思路 && 代码 题目描述 比较偏数学的一道题..众所周知这类题代码量都不大,但是就是难想= = 思路 && 代码 这篇题解写得很好- 建议还是直接 ...
- 剑指 Offer 44. 数字序列中某一位的数字
class Solution {public int findNthDigit(int n) {int digit = 1; // 该数的位数long start = 1; // 该位数的起始值,1位 ...
- leetcode算法题--数字序列中某一位的数字
原题链接:https://leetcode-cn.com/problems/shu-zi-xu-lie-zhong-mou-yi-wei-de-shu-zi-lcof/ int findNthDigi ...
- [剑指offer]面试题第[44]题[JAVA][数字序列中某一位的数字][找规律]
[问题描述][中等] [解答思路] 找规律 时间复杂度:O(logN) 空间复杂度:O(logN) class Solution {public int findNthDigit(int n) {in ...
- 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< ...
- 得到一个数字中每一位的数字
学习编程也有一段时间了,随着学习的不断深入,我越来越体会到了算法的重要性,最近遇到了一些非常有意思的算法,比如打印水仙花数.将数字逆置,在这两个算法中会用到一个数字钟每一位的值 如:判断数字123是否 ...
- 求数字序列中的第n位对应的数字
文章目录 题目 思路 代码 复杂度分析 致谢 题目 数字以0123456789101112131415-的格式序列化到一个字符序列中.在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19 ...
最新文章
- 真我与小我隔着什么?
- 2021年3月程序员工资统计数据出炉,又拖后腿了……
- 帝国Cms虚拟主机突破上传最大文件2m的限制的方法
- openstack常用命令及控制节点端口一览
- 有些事情女孩子越早知道越容易幸福
- Ch5501-环路运输【环形处理dp】
- C++ STL容器值set
- c++语言成绩统计系统数组,急求!!!关于学生成绩管理系统的C++ 结构体数组...
- 拯救你的年终报告!巧用可视化图表秀出年终业绩
- python和台达plc通讯_台达PLC通信协议ModbusASCIIDVP
- Centos和Ubuntu下定制普通用户访问权限
- 学习计算机语言入门必看
- edem颗粒替换_EDEM常见问题
- 淘汰安卓机废物利用(三) 网站服务器,安卓手机当服务器的方法,完成废物利用...
- CAD2006注册机不能显示激活码
- 原创-VBA金税盘开票XML生成
- 中庸——粗浅阅读后的感受,在此勉励
- couldn't set tty to ppp discipline invalid argument
- 小白面试:EF Core的三种事务
- JS鼠标点击自动选中点击元素中的文字
热门文章
- IntelliJ IDEA安装lombok
- 最新最全linux系统调优指南(centos7.X)
- android的GCM研究
- 安装Office2007
- mysql查询前一年的第一天_MySQL中查询某一天, 某一月, 某一年的数据代码详解
- STC学习:可切换内容的电子音乐
- 计算机控制技术证书可以考吗,计算机控制技术专业可考哪些资格证书
- java接口抽象方法_Java接口、接口和抽象类:
- 用python打印心形_Python和Js打印心形
- mysql语句详解_mysql基础篇 - SELECT 语句详解