博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leedcode400-----第N个数字
阅读量:3961 次
发布时间:2019-05-24

本文共 987 字,大约阅读时间需要 3 分钟。

第N个数字

在这里插入图片描述

在这里插入图片描述

class Solution {
public int findNthDigit(int n) {
int i=1; int temp=getNumber(i); int bef = 0; while(temp<=n) {
//这里是为了防止溢出做的处理 if(i==9) break; i++; bef=temp; temp=getNumber(i); } //此时i的值为接下来的数字的位数 // System.out.println("i: "+i); int rest = n-bef;//差的位数 int start = (int)java.lang.Math.pow(10,i-1); int num = rest/i;//还需要几位i位数 start+=num; int r = rest%i;//还需要几个数字 if(r>0) return getN(start,r,i); else return getN(start-1,i,i); } public int getN(int start,int k,int i)//获取数字start的第k个数,i是其位数 {
int N=0; for(int t=i-1;t>=i-k;t--) {
N = start/(int)java.lang.Math.pow(10,t); start %=(int)java.lang.Math.pow(10,t); } return N; } public int getNumber(int n) {
int sum =0; for(int i=0;i

转载地址:http://lslzi.baihongyu.com/

你可能感兴趣的文章
P5-c++内存模型和名称空间-01头文件相关
查看>>
P6-c++内存模型和名称空间-02存储连续性、作用域和链接性
查看>>
P9-c++对象和类-02构造函数和析构函数总结
查看>>
P10-c++对象和类-03this指针详细介绍,详细的例子演示
查看>>
bat备份数据库
查看>>
linux数据库导出结果集且比对 && grep -v ---无法过滤的问题
查看>>
shell函数与自带变量
查看>>
linux下shell获取不到PID
查看>>
sort详解
查看>>
linux,shell中if else if的写法,if elif
查看>>
shell中单引号、双引号、反引号的区别
查看>>
shell脚本死循环方法
查看>>
shell中$*和$@的区别
查看>>
log4cxx 的编译安装过程和使用
查看>>
简单邮件系统程序
查看>>
STL里的multimap使用详解
查看>>
STL 库其中的 std::string用法总结
查看>>
模态对话框的销毁过程与非模态对话的几种销毁方法
查看>>
C++实现http下载 && 24点计算编码风格
查看>>
memcached了解使用和常用命令详解
查看>>