leetcode400
public class Solution {
public int FindNthDigit(int n)
{
//StringBuilder sb = new StringBuilder();
//for (int i = 1; i < int.MaxValue; i++)
//{
// if (sb.Length < n)
// {
// sb.Append(i);
// }
// else
// {
// break;
// }
//}
//var k = sb.Length;
//var s = sb.ToString().Substring(n - 1, 1);
//var result = Convert.ToInt32(s);
//return result;
var result = ;
if (n >= && n <= )//0~9
{
var dif = n - ;
var shang = dif;
var yu = ;
var basic = ( + shang).ToString();
result = Convert.ToInt32(basic.Substring(yu, ));
//9*1
}
else if (n >= && n <= )//10~99
{
var dif = n - ;
var shang = dif / ;
var yu = dif % ;
var next = ;
if (yu > )
{
next = ;
}
var basic = ( + shang + next).ToString();
if (yu > )
{
result = Convert.ToInt32(basic.Substring(yu - , ));
}
else
{
result = Convert.ToInt32(basic.Substring(basic.Length - , ));
}
//89*2
}
else if (n >= && n <= )//100~999
{
var dif = n - ;
var shang = dif / ;
var yu = dif % ;
var next = ;
if (yu > )
{
next = ;
}
var basic = ( + shang + next).ToString();
if (yu > )
{
result = Convert.ToInt32(basic.Substring(yu - , ));
}
else
{
result = Convert.ToInt32(basic.Substring(basic.Length - , ));
}
//899*3
}
else if (n >= && n <= )//1000~9999
{
var dif = n - ;
var shang = dif / ;
var yu = dif % ;
var next = ;
if (yu > )
{
next = ;
}
var basic = ( + shang + next).ToString();
if (yu > )
{
result = Convert.ToInt32(basic.Substring(yu - , ));
}
else
{
result = Convert.ToInt32(basic.Substring(basic.Length - , ));
}
//8999*4
}
else if (n >= && n <= )//10000~99999
{
var dif = n - ;
var shang = dif / ;
var yu = dif % ;
var next = ;
if (yu > )
{
next = ;
}
var basic = ( + shang + next).ToString();
if (yu > )
{
result = Convert.ToInt32(basic.Substring(yu - , ));
}
else
{
result = Convert.ToInt32(basic.Substring(basic.Length - , ));
}
//89999*5
}
else if (n >= && n <= )//100000~999999
{
var dif = n - ;
var shang = dif / ;
var yu = dif % ;
var next = ;
if (yu > )
{
next = ;
}
var basic = ( + shang + next).ToString();
if (yu > )
{
result = Convert.ToInt32(basic.Substring(yu - , ));
}
else
{
result = Convert.ToInt32(basic.Substring(basic.Length - , ));
}
//899999*6
}
else if (n >= && n <= )//1000000~9999999
{
var dif = n - ;
var shang = dif / ;
var yu = dif % ;
var next = ;
if (yu > )
{
next = ;
}
var basic = ( + shang + next).ToString();
if (yu > )
{
result = Convert.ToInt32(basic.Substring(yu - , ));
}
else
{
result = Convert.ToInt32(basic.Substring(basic.Length - , ));
}
//8999999*7
}
else if (n >= && n <= )//10000000~99999999
{
var dif = n - ;
var shang = dif / ;
var yu = dif % ;
var next = ;
if (yu > )
{
next = ;
}
var basic = ( + shang + next).ToString();
if (yu > )
{
result = Convert.ToInt32(basic.Substring(yu - , ));
}
else
{
result = Convert.ToInt32(basic.Substring(basic.Length - , ));
}
//89999999*8
}
else if (n >= && n <= int.MaxValue)//100000000~999999999
{
var dif = n - ;
var shang = dif / ;
var yu = dif % ;
var next = ;
if (yu > )
{
next = ;
}
var basic = ( + shang + next).ToString();
if (yu > )
{
result = Convert.ToInt32(basic.Substring(yu - , ));
}
else
{
result = Convert.ToInt32(basic.Substring(basic.Length - , ));
}
//899999999*9
}
return result;
}
}
https://leetcode.com/problems/nth-digit/#/description
leetcode400的更多相关文章
- [Swift]LeetCode400. 第N个数字 | Nth Digit
Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... Note:n is ...
随机推荐
- CSS 列表样式详解
CSS列表用于前端的列表排列. CSS列表属性作用如下: 设置不同的列表项标记为有序列表 设置不同的列表项标记为无序列表 设置列表项标记为图像 列表 在HTML中,有两种类型的列表: 无序列表 - 列 ...
- node+websocket创建简易聊天室
关于websocket的介绍太多,在这就不一一介绍了,本文主要实现通过websocket创建一个简易聊天室,就是90年代那种聊天室 服务端 1.安装ws模块,uuid模块,ws是websocket模块 ...
- LeetCode 47
class Solution { public: vector<vector<int>> permuteUnique(vector<int>& nums) ...
- 《剑指offer》习题解答(C/C++)
1.二维数组中的查找 /* 题目:在一个二维数组中,没一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- 049——VUE中使用animation与transform实现vue的动画效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python自动化运维之路-01
python的主要应用 python的擅长领域 学python有没有前途?python的语言排名 语言选择 运维会了开发后可以干什么? python的最大优势就是什么都能做. 课程概述 毕业目标 周五 ...
- C++轮子队
团队Github地址:https://github.com/Pryriat/2048.git 团队展示: 队名:C++轮子队 队员组成: 黄家承(队长) 学号:3116005 ...
- 流程设计器jQuery + svg/vml(Demo1 - 构建设计器UI界面)
之前用Silverlight实现过一个流程设计器(Demo),使用起来不是很方便.打算参考GooFlow,结合自己对工作流的理解,用jQuery改造实现一个,力求简单实用. 第一步是要构建设计器的UI ...
- Office 365 开发 集成VS2013 (一)
博客地址 http://blog.csdn.net/foxdave 题外话:好久不写了,个人比较懒,有时候想写东西的时候想一想就又不知从何下笔了.之前因为某些机缘发现自己完全是个管理外行,所以最近下了 ...
- protel 99se 加载库文件 files not recognised 解决办法-转
WIN7操作系统下,protel99se添加元件库的操作方法(非修改ADVSch99SE方法) 最近更换了新电脑,操作系统是正版的WIN7,在用protel时发现元件库无法加载,很是郁闷,上网查找解决 ...