当前位置:网站首页>剑指offer基础版 ----第31天
剑指offer基础版 ----第31天
2022-07-31 05:09:00 【米兰的小红黑】
class Solution {
public int cuttingRope(int n) {
if(n <= 3)
return n - 1;
int b = n % 3, p = 1000000007;
long ret = 1;
int lineNums=n/3; //线段被我们分成以3为大小的小线段个数
for(int i=1;i<lineNums;i++) //从第一段线段开始验算,3的ret次方是否越界。注意是验算lineNums-1次。
ret = 3*ret % p;
if(b == 0)
return (int)(ret * 3 % p); //刚好被3整数的,要算上前一段
if(b == 1)
return (int)(ret * 4 % p); //被3整数余1的,要算上前一段
return (int)(ret * 6 % p); //被3整数余2的,要算上前一段
}
}
class Solution {
public int countDigitOne(int n) {
// mulk 表示 10^k
// 在下面的代码中,可以发现 k 并没有被直接使用到(都是使用 10^k)
// 但为了让代码看起来更加直观,这里保留了 k
long mulk = 1;
int ans = 0;
for (int k = 0; n >= mulk; ++k) {
ans += (n / (mulk * 10)) * mulk + Math.min(Math.max(n % (mulk * 10) - mulk + 1, 0), mulk);
mulk *= 10;
}
return ans;
}
}
class Solution {
public int findNthDigit(int n) {
int digit = 1;
long start = 1;
long count = 9;
while (n > count) {
// 1.
n -= count;
digit += 1;
start *= 10;
count = digit * start * 9;
}
long num = start + (n - 1) / digit; // 2.
return Long.toString(num).charAt((n - 1) % digit) - '0'; // 3.
}
}
边栏推荐
猜你喜欢
关于小白安装nodejs遇到的问题(npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
Typec手机有线网卡网线转网口转接口快充方案
EasyExcel的简单读取操作
CentOS7 —— yum安装mysql
Interviewer, don't ask me to shake hands three times and wave four times again
MySQL优化之慢日志查询
一文了解大厂的DDD领域驱动设计
【LeetCode-SQL每日一练】——2. 第二高的薪水
On-line monitoring system for urban waterlogging and water accumulation in bridges and tunnels
Go language study notes - dealing with timeout problems - Context usage | Go language from scratch
随机推荐
基于flask的三方登陆的流程
限流的原理
mysql存储过程
docker安装postgresSQL和设置自定义数据目录
Unity Framework Design Series: How Unity Designs Network Frameworks
Multiple table query of sql statement
Sql解析转换之JSqlParse完整介绍
Kubernetes 证书可用年限修改
Mysql应用安装后找不到my.ini文件
DVWA installation tutorial (understand what you don't understand · in detail)
数据集划分以及交叉验证法
工作流编排引擎-Temporal
MySQL forgot password
MySQL optimization slow log query
DVWA shooting range environment construction
Go中间件
On-line monitoring system for urban waterlogging and water accumulation in bridges and tunnels
Go language study notes - dealing with timeout problems - Context usage | Go language from scratch
CentOS7 —— yum安装mysql
MySQL-如何分库分表?一看就懂