当前位置: 首页 > news >正文

整数中1出现的次数(从1到n整数中1出现的次数)

 解题思路1:

        设定整数点(如1、10、100等等)作为位置点i(对应n的各位、十位、百位等等),分别对每个数位上有多少包含1的点进行分析。

第一步:对n进行分割,分为两部分:高位n/i(即a),低位n%i(即b)

第二步:分三种情况进行讨论:

1)当i表示百位,且百位对应的数>=2时,如n=31456,i=100,则a=314,b=56,其中百位对应的数字是4,4>=2。此时百位为1的次数有a/10+1=32(最高两位0~31),每一次都包含100个连续的点,即共有(a/10+1)*100个点的百位为1的数字。

 2)当i表示百位,且百位对应的数为1时,如n=31156,i=100,则a=311,b=56,其中百位对应的数字是1。此时百位对应的就是1,则共有a/10(最高两位0-30)次是包含100个连续点。当最高两位为31(即a=311),本次只对应局部点00~56,共b+1次。即共有(a/10*100)+(b+1)个。

  3)当i表示百位,且百位对应的数为0,如n=31056,i=100,则a=310,b=56,其中百位对应的数字是0。此时百位为1的次数有a/10=31(最高两位0~30)。

         综合以上三种情况,当百位对应0或>=2时,有(a+8)/10次包含所有100个点,还有当百位为1(即a%10==1),需要增加局部点b+1。之所以补8,是因为当百位为0,则a/10==(a+8)/10,当百位>=2,补8会产生进位位,效果等同于(a/10+1)。

import java.util.*;
public class Solution {public int NumberOf1Between1AndN_Solution(int n) {int count = 0;for(int i = 1; i <= n; i*=10){int a = n/i,b = n%i;count += (a + 8)/10*i + ((a%10 == 1) ? 1: 0)*(b + 1);}return count;}
}

相关文章:

整数中1出现的次数(从1到n整数中1出现的次数)

解题思路1&#xff1a; 设定整数点&#xff08;如1、10、100等等&#xff09;作为位置点i&#xff08;对应n的各位、十位、百位等等&#xff09;&#xff0c;分别对每个数位上有多少包含1的点进行分析。 第一步&#xff1a;对n进行分割&#xff0c;分为两部分&#xff1a;高位…...

Vue2:路由

Vue2&#xff1a;路由 Date: May 28, 2023 Sum: vue-router基本使用、高级用法 单页面应用程序 概念&#xff1a;SPA【Single Page Application】是指所有的功能都在一个html页面上实现 案例&#xff1a; 单页应用网站&#xff1a; 网易云音乐 https://music.163.com/ 多页…...

【Docker】Docker的应用场景,Docker 的优点,Ubuntu Docker 安装,使用 Shell 脚本进行安装

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…...

CentOS7 启动谷歌浏览器 java+Selenium+chrome+chromedriver

前言&#xff1a;自己想使用该技术实现自动化抓取音乐&#xff0c;目前在window上运行成功&#xff0c;需要在Linux Centos服务上跑&#xff0c;配置上出现了许多问题&#xff0c;特此记录。 参考文档&#xff1a;CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSD…...

【无公网IP】在公网环境下Windows远程桌面Ubuntu 18.04

【无公网IP】在公网环境下Windows远程桌面Ubuntu 18.04 文章目录 *【无*公网IP】在公网环境下Windows远程桌面Ubuntu 18.04一、 同个局域网内远程桌面Ubuntu1. 更新软件仓库2. 安装支持包3. 安装XFCE4桌面环境4. 安装XRDP5. 环境设置5.1 XFCE桌面配置5.2 在配置文件中&#xff…...

Java“牵手拼多多商品详情数据采集方法,拼多多API接口申请指南

拼多多详情接口 API 是开放平台提供的一种 API 接口&#xff0c;它可以帮助开发者获取商品的详细信息&#xff0c;包括商品的标题、描述、图片等信息。在电商平台的开发中&#xff0c;详情接口API是非常常用的 API&#xff0c;因此本文将详细介绍详情接口 API 的使用。 一、拼…...

Leetcode-每日一题【剑指 Offer 15. 二进制中1的个数】

题目 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 1 的个数&#xff08;也被称为 汉明重量).&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言&#xff08;如 Java&…...

docker 怎么搭建

Docker是一种容器化平台&#xff0c;可以快速构建、部署和运行应用程序。以下是Docker的搭建流程&#xff1a; 1. 安装Docker 在官方网站上下载并安装Docker&#xff0c;根据官方指引进行安装。 2. 配置Docker环境&#xff1a; 配置Docker环…...

Signal Desktop for Mac(专业加密通讯软件)中文版安装教程

想让您的聊天信息更安全和隐藏吗&#xff1f; Mac版本的Signal Desktop是MACOS上的专业加密通信工具&#xff0c;非常安全。使用信号协议&#xff0c;该协议结合了固定前密钥&#xff0c;双重RATCHES算法和3-DH握手信号&#xff0c;该信号可以确保第三方实体将不会传达您的消息…...

【博客686】k8s informer list-watch机制中的re-list与resync

k8s informer的re-list与resync 1、informer的list-watch机制 client-go中的reflector模块首先会list apiserver获取某个资源的全量信息&#xff0c;然后根据list到的resourceversion来watch资源的增量信息。且希望使用client-go编写的控制器组件在与apiserver发生连接异常时&…...

【Spring专题】Spring底层核心原理解析

目录 前言阅读导航前置知识Q1&#xff1a;你能描述一下JVM对象创建过程吗&#xff1f;Q2&#xff1a;Spring的特性是什么&#xff1f;前置知识总结 课程内容一、Spring容器的启动二、一般流程推测2.1 扫描2.2 IOC2.3 AOP 2.4 小结三、【扫描】过程简单推测四、【IOC】过程简单推…...

出于网络安全考虑,印度启用本土操作系统”玛雅“取代Windows

据《印度教徒报》报道&#xff0c;印度将放弃微软系统&#xff0c;选择新的操作系统和端点检测与保护系统。 备受期待的 "玛雅操作系统 "将很快用于印度国防部的数字领域&#xff0c;而新的端点检测和保护系统 "Chakravyuh "也将一起面世。 不过&#xf…...

tensotflow中tf.title()和tf.broadcast()

tf.tile() 和 tf.broadcast_to() 都是 TensorFlow 中用于张量复制的函数&#xff0c;但它们的实现方式和使用场景略有不同。 tf.tile() 函数的定义如下&#xff1a; tf.tile(input, multiples, nameNone) 其中&#xff0c;input 表示要复制的张量&#xff0c;multiples 表示…...

想要延长Macbook寿命?这六个保养技巧你必须get!

Mac作为我们工作生活的伙伴&#xff0c;重要性不需要多说。但在使用的过程中&#xff0c;我们总会因不当操作导致Mac出现各种问题。 要想它长久的陪伴&#xff0c;平时的维护与保养自然不能少&#xff0c;Mac的保养很重要的两点就是硬件保养和电脑系统保养&#xff0c;硬件保养…...

mysql基础之触发器的简单使用

1.建立学生信息表 -- 触发器 -- 建立学生信息表 create table s1(id int unsigned auto_increment,name varchar(30),score tinyint unsigned,dept varchar(50),primary key(id) );2.建立学生补考信息表 -- 建立学生补考信息表 create table s2 like s1;3.建立触发器&#xf…...

Spring Boot 配置多数据源【最简单的方式】

Druid连接池 Spring Boot 配置多数据源【最简单的方式】 文章目录 Druid连接池 Spring Boot 配置多数据源【最简单的方式】 0.前言1.基础介绍2.步骤2.1. 引入依赖2.2. 配置文件2.3. 核心源码Druid数据源创建器Druid配置项 DruidConfig 3.示例项目3.1. pom3.1.1. 依赖版本定义3.…...

1、Java简介+DOS命令+编译运行+一个简单的Java程序

Java类型&#xff1a; JavaSE 标准版&#xff1a;以前称为J2SE JavaEE 企业版&#xff1a;包括技术有&#xff1a;Servlet、Jsp&#xff0c;以前称为J2EE JavaME 微型版&#xff1a;以前称为J2ME Java应用&#xff1a; Android平台应用。 大数据平台开发&#xff1a;Hadoo…...

Linux 文件与目录管理,Linux 文件内容查看

目录 Linux 文件与目录管理 处理目录的常用命令 ls (列出目录) mv (移动文件与目录,或修改名称)...

Mysql按小时进行分组统计数据

目录 前言 按1小时分组统计 按2小时分组统计 按X小时分组统计 前言 统计数据时这种是最常见的需求场景&#xff0c;今天写需求时发现按2小时进行分组统计也特别简单&#xff0c;特此记录下。 按1小时分组统计 sql&#xff1a; select hour(pass_time) …...

springboot3日志配置

简介 Spring 使用commons-logging作为内部日志&#xff0c;但是底层日志实现是开放的&#xff0c;可以对接其他日志框架 spring5以及以后common-logging被spring直接自己写了 支持jul, log4j2,logback&#xff0c;springBoot提供了默认的控制台输出配置&#xff0c;也可以配置…...

新手必看:Qwen-Image-Edit-2509镜像部署与Comfyui使用完整指南

新手必看&#xff1a;Qwen-Image-Edit-2509镜像部署与Comfyui使用完整指南 1. 认识Qwen-Image-Edit-2509 Qwen-Image-Edit-2509是阿里巴巴通义千问团队推出的专业级AI图像编辑工具。它最大的特点是能够通过简单的文字描述&#xff0c;实现对图片的智能修改。无论是电商商品图…...

2026年小程序商城如何上线

2026年小程序商城如何上线 小程序商城上线主要涉及三个阶段&#xff1a;平台注册与认证、功能配置与内容填充、提交审核与发布。整个上线周期从3天到3个月不等&#xff0c;SaaS平台方案可在5-14天内完成上线&#xff0c;是当前中小企业最常用的路径。根据微信官方数据&#xff…...

Linux驱动开发(2)——驱动编程

1.内核输出接口Linux 内核日志划分1&#xff5e;7 优先级等级&#xff0c;只有日志自身优先级数值低于console_loglevel&#xff08;控制台日志等级阈值&#xff09;时&#xff0c;内核打印信息才会输出到串口终端。printk&#xff1a;内核最基础的打印接口&#xff0c;默认使用…...

AI Agent在量化交易中的策略优化

AI Agent在量化交易中的策略优化:从原理到落地的全指南 引言 痛点引入 2024年国内量化私募管理规模正式突破1.5万亿,行业渗透率超过30%,但高速扩张的背后是全行业的策略同质化危机:传统多因子策略因子拥挤度超过60%,CTA策略2023年平均收益不足3%,指增产品超额回撤中位…...

虎贲等考 AI 智能写作 —— 全流程学术赋能,真实可信的论文智能辅助平台

虎贲等考 AI 智能写作&#xff08;官网&#xff1a;https://www.aihbdk.com/&#xff09;是基于人工智能技术、专为学术场景打造的全流程论文写作辅助工具&#xff0c;面向本硕博学生、科研工作者提供从开题报告、文献综述、正文撰写&#xff0c;到真实图表、数据、公式代码、问…...

基于Simulink的异物检测(FOD)与活体保护(LPD)逻辑仿真

目录 手把手教你学Simulink ——基于Simulink的异物检测&#xff08;FOD&#xff09;与活体保护&#xff08;LPD&#xff09;逻辑仿真 一、引言&#xff1a;安全是无线充电的生命线 二、系统架构与检测原理 1. 整体安全监控框架 2. 检测物理原理 三、核心检测模块详解 第…...

SDXL潜在空间解析与AI绘画控制技巧

1. 项目概述SDXL&#xff08;Stable Diffusion XL&#xff09;作为当前最先进的文生图模型之一&#xff0c;其潜在空间&#xff08;latent space&#xff09;的运作机制一直是AI绘画领域的热门研究课题。不同于传统图像处理&#xff0c;SDXL通过将512x512像素的图像压缩到64x64…...

Rust持久化内存编程:使用persistent-memory库构建崩溃安全的B+树索引

1. 项目概述&#xff1a;当内存拥有了“记忆”如果你在服务器或者高性能计算领域摸爬滚打过几年&#xff0c;肯定对“掉电即失”这个内存的固有特性又爱又恨。爱的是它的速度&#xff0c;恨的是它的“健忘症”。数据在内存里跑得飞快&#xff0c;可一旦服务器重启或者意外断电&…...

ARM GICv3中断控制器与ICC_EOIR1_EL1寄存器详解

1. ARM GICv3中断控制器架构概述在现代ARM处理器架构中&#xff0c;通用中断控制器(GIC)扮演着系统中断管理的核心角色。作为ARMv8/v9架构的标准组件&#xff0c;GICv3相比前代架构带来了显著的改进&#xff1a;支持更多CPU接口&#xff08;最多256个&#xff09;引入中断分组机…...

Sunshine游戏串流完全指南:从零搭建到专业优化的实战教程

Sunshine游戏串流完全指南&#xff1a;从零搭建到专业优化的实战教程 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款强大的自托管游戏串流服务器&#xff0c;专为M…...