233. 数字 1 的个数

给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。

示例 1:

输入:n = 13
输出:6
示例 2:

输入:n = 0
输出:0

解题思路

正确性证明

例如:对于n=3015,

  • 个位为1的数字组成为[000-301]1,所以共有302个数字个位数为1,所以对答案贡献302个1。
  • 十位为1的数字组成为[01-30]1[00-99]和[00]1[00-05],所以共有300+6个数字个位数为1,所以对答案贡献306个1。
  • 百位为1的数字组成为[0-2]1[00-99],所以共有300个数字个位数为1,所以对答案贡献200个1。
  • 千位数字为1很明显只有1000个数字,1[000-999],所以对答案贡献1000个1。

所以最后的总和为1908

代码

class Solution {public int countDigitOne(int n) {int bef=0,res=0,w=1;while (n>0){int cur=n%10;n/=10;if (cur>1){res+=(n+1)*w;}else if (cur==1){res+=n*w+bef+1;}else res+=n*w;bef+=cur*w;w*=10;}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux串口设置参数

为什么80%的码农都做不了架构师?>>> 在Linux环境下,串口名从ttyS0开始依次是ttyS1、ttyS2等。在本程序中,使用ttyS0作为通信串口。在打开ttyS0的时候选项 O_NOCTTY 表示不能把本串口当成控制终端,否则用户的键盘输入信…

STM32F013 十元板

我大拇指般大小。STM32F103C8T6,64K Flash,20K RAM,m3的核。十元,应该是价格极限了吧。 通过USB供电(5V),也可以排针3.3V供电。可惜没有引出5V排针。USB口可以供电和USB通讯,没有USB…

如何在Python中建立和训练K最近邻和K-Means集群ML模型

One of machine learnings most popular applications is in solving classification problems.机器学习最流行的应用之一是解决分类问题。 Classification problems are situations where you have a data set, and you want to classify observations from that data set in…

552. 学生出勤记录 II

552. 学生出勤记录 II 可以用字符串表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符: ‘A’:Absent,缺勤 ‘L’:Late,迟…

C/C++中计算函数运行时间

#include<stdio.h> #include<time.h> clock_t start,stop;//clock_t 是clock&#xff08;&#xff09;函数返回变量的类型 double duration;//记录被测函数的运行时间&#xff0c;以秒为单位 int main() { startclock();//开始计时 MyFunction();//把被测函数加在这…

作为一名前端开发工程师,你必须掌握的WEB模板引擎:Handlebars

为什么需要使用模板引擎&#xff1f; 关于为什么要使用模板引擎&#xff0c;按照我常说的一句话就是&#xff1a;不用重复造轮子了。 简单来说&#xff0c;模板最本质的作用是“变静为动”&#xff0c;一切利于这方面的都是优势&#xff0c;不利于的都是劣势。要想很好地实现“…

extjs 实用开发指南_如何提出有效问题:针对开发人员的实用指南

extjs 实用开发指南Learning is a journey that never ends. At every point in your career, you will keep learning, re-learning, and un-learning. 学习是一个永无止境的旅程。 在职业生涯的每个阶段&#xff0c;您都会不断学习&#xff0c;重新学习和不学习。 The abil…

LOJ 6270

最近&#xff08;一直&#xff09;有点&#xff08;很&#xff09;蠢 按照区间大小排序做区间包含多少区间的话 只用考虑 左端点比当前左端点小的和右端点比当前右端点大的&#xff0c;因为不可能同时满足 关于K&#xff0c;就在做到K的时候减一下就好了&#xff0c;一直傻逼在…

Zabbix3.4安装详细步骤

Zabbix3.4安装的详细步骤一、zabbix介绍现在大多数公司都会用到监控软件&#xff0c;主流的监控软件就是Zabbix了&#xff0c;当然还会有Nagios等其他的软件&#xff1a;zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种…

软件自学成才到公司要学历吗_作为一名自学成才的移动开发人员,我在旅途中学到了什么

软件自学成才到公司要学历吗In this post, Ill share my entire journey about how I became a professional mobile developer.在这篇文章中&#xff0c;我将分享我如何成为一名专业的移动开发人员的整个过程。 I hope that reading about my experience will help you refle…

cs231n---语义分割 物体定位 物体检测 物体分割

1 语义分割 语义分割是对图像中每个像素作分类&#xff0c;不区分物体&#xff0c;只关心像素。如下&#xff1a; &#xff08;1&#xff09;完全的卷积网络架构 处理语义分割问题可以使用下面的模型&#xff1a; 其中我们经过多个卷积层处理&#xff0c;最终输出体的维度是C*H…

http协议内容

前言&#xff1a; http协议&#xff1a; 对浏览器客户端 和 服务器端 之间数据传输的格式规范http1.0&#xff1a;当前浏览器客户端与服务器端建立连接之后&#xff0c; 只能发送一次请求&#xff0c;一次请求之后连接关闭。 http1.1&#xff1a;当前浏览器客户端与服务器端建…

array_combine()

转载于:https://www.cnblogs.com/xiaobiaomei/p/8392728.html

CSS外边距(margin)重叠及防止方法

#css外边距margin重叠及防止方法CSS外边距(margin)重叠及防止方法 #1-什么是外边距margin重叠1. 什么是外边距(margin)重叠 外边距重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容、补白、边框)重合在一起而形成一个单一边界。 #2-相邻marign重叠的…

composer windows安装

一.前期准备: 1.下载安装包,https://getcomposer.org/download/ 2.在php.ini文档中打开extensionphp_openssl.dll 3.下载php_ssh2.dll、php_ssh2.pdb,http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ 4.把php_ssh2.dll、php_ssh2.pdb文件放php的ext文件夹 5.重启ap…

spring整合mybatis采坑

本来这个错误是整合spring和mybatis遇到的错误&#xff0c;但是一直没有解决&#xff0c;但是在做SpringMVC时也了出现了这样的错误org.springframework.beans.factory.BeanCreationException: Error creating bean with name sqlSessionFactory defined in class path resourc…

处理测试环境硬盘爆满

测试环境经常会收到这类告警 第一步 登陆机器查看硬盘使用 执行df 好吧,使用情况真不妙,根目录占用过大 第二步 确定哪个文件太大或者文件过多 进入爆满的目录,如这里是根目录 cd / 然后找下面哪个文件夹或者文件太大,有几种方式: 1.dusudo du -h --max-depth1 | sort -hr 越前…

LeetCode-46. Permutations

一、问题描述 就是全排列问题。 二、问题解决 应该哪一本数据结构的书上都有讲了。 void get_permute(vector<int>& nums, int pos, vector<vector<int>>& result) {if (nums.size() pos) {result.push_back(nums);return;}for (int i pos; i <…

web操作系统开发的_哪种操作系统更适合Web开发

web操作系统开发的If youre new to web development and are in the market for a new laptop, you might be wondering which operating system is best.如果您是Web开发的新手&#xff0c;并且正在购买新的笔记本电脑&#xff0c;您可能想知道哪种操作系统是最好的。 Spoile…

白鹭引擎 - 显示对象的基准点与横纵坐标 ( 绘制一个来回移动的绿色方块 )

class Main extends egret.DisplayObjectContainer {/** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 super )* constructor 是类的构造函数, 类在实例化的时候调用* egret.Event.ADDED_TO_STAGE, 在将显示对象添加到舞台显示列表时调度*/…