剑指 Offer 43. 1~n 整数中 1 出现的次数

Offer_43

题目描述

题解分析

java代码

package com.walegarrett.offer;

/**
* @Author WaleGarrett
* @Date 2021/2/8 9:29
*/ /**
* 题目详情:
* 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。
* 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。
*/
public class Offer_43 {
public int countDigitOne(int n) {
int high = n/10,cur = n%10, low = 0;
int digital = 1;//digital表示数位
int res = 0;//1的个数
while(high!=0 || cur != 0){
if(cur == 0){
res += (high * digital);
}else if(cur == 1){
res += (high*digital + low +1);
}else res += (high+1) * digital;
low += cur * digital;
cur = high %10;
high /=10;
digital *= 10;
}
return res;
}
}

最新文章

  1. mybatis_个人总结
  2. NSURLConnection学习笔记
  3. Leetcode Odd Even Linked List
  4. row_number()函数
  5. 基于jQuery的web在线流程图设计器GooFlow
  6. 6.24AppCan移动开发者大会价值30万的展示机会归了谁?
  7. logstash multiline 把文件处理为单个 event
  8. mvc 微软票据验证
  9. SDK编程模板
  10. Spring Boot系列(一) Spring Boot介绍和基础POM文件
  11. 为什么range不是迭代器?range到底是什么类型?
  12. js杨辉三角控制台输出
  13. centos7 安装php7,报错cannot get uid for user nginx
  14. my.conf配置信息
  15. River Problem HDU - 3947(公式建边)
  16. [Version Control]—— Git如何使用
  17. ELK基础架构解说-运维笔记
  18. 阿里云服务器配置免费https服务
  19. SE Springer小组《Spring音乐播放器》软件需求说明之四
  20. 【TP3.2+onethink1.0】2个Ueditor 回显数据,第2个会把第1个覆盖

热门文章

  1. HttpServletResponse的学习
  2. POJ - 2406 Power Strings (后缀数组DC3版)
  3. Codeforces Round #570 (Div. 3) E. Subsequences (easy version) (搜索,STL)
  4. Uva 12436 Rip Van Winkle's Code
  5. CF1397-C. Multiples of Length
  6. MySQL 语句及其种类
  7. 关于FFT的一些理解,以及如何手工计算FFT加深理解和验证正确性
  8. Prometheus Monitoring Solution
  9. js debounce & throttle All In One
  10. yarn global add !== yarn add global