数字序列中的某一位的数字
2018-01-10 16:28
155 查看
public class Problem44 { public int nNumber(int n){ if(n<0) return -1; if(n==0) return 0; int sum = 1; int beforeSum=1; int len = 1; while(sum<n){ beforeSum = sum; sum += 9*Math.pow(10, len-1)*len; //System.out.println("len="+len+",sum="+sum); len++; } //System.out.println("sum="+sum); //System.out.println("n-beforeSum="+(n-beforeSum)); int res = (n-beforeSum)/(len-1); //System.out.println("res="+res); int left = (n-beforeSum)%(len-1); int number = (int) (Math.pow(10, len-1)+res); while(left!=0){ number/=10; left--; } return number%10; } public static void main(String[] args) { Problem44 p = new Problem44(); int res = p.nNumber(0); System.out.println(res); } }
相关文章推荐
- 剑指Offer-44:数字序列中某一位的数字
- 剑指Offer(第二版)面试题44:数字序列中某一位的数字
- 顺时针打印矩阵+栈的压入、弹出序列+树的层序遍历(非递归)+二叉树中和为某一值的路径+数组中只出现一次的数字
- (简单模拟2.4.1)POJ 2000 Gold Coins(确定大数字序列中的某一位置在小数字序列中的位置)
- 面试题:数字序列中某一位的数字
- 【基础练习】【线性DP】codevs2622 数字序列(最大连续子序列和)题解
- 九度 1544 数字序列区间最小值
- 九度OJ 1357:疯狂地Jobdu序列 (数字特性)
- [bzoj1049][HAOI2006]数字序列
- Java自动计算表格某一数字列的和
- binary-tree-level-order-traversal I、II——输出二叉树的数字序列
- 九度oj 题目1544:数字序列区间最小值
- hdu 4352 统计数字数位上最长上升子序列长度为k的个数
- BZOJ1049 [HAOI2006]数字序列0
- 给一串数字,输出所有的出栈序列
- 剑指offer41:和为s的两个数字VS和为s的连续正数序列
- JavaScript实现找出数组中最长的连续数字序列
- CSU OJ:1241 数字序列(并查集+思维)
- 序列中,除了2个数字只出现一次外,其他数字成对出现。找出落单的2个数。
- 递增数列中和为s的两个数字,和为s的连续正数序列