数据结构-剑指offer-整数中1出现的次数
题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。
思路:主要是对每一个整数,都要一位一位的进行判断,可以通过取整和取余操作进行。以1312为例:先通过1312%10=2取余对个位进行判断,然后通过取整1312/10=131,循环直到最后一位1/10=0结束循环。时间复杂度O(nlogn)
class Solution {
public:int NumberOf1Between1AndN_Solution(int n){int count = 0;int num = 0;for(int i = n; i>0; i--){int temp = i;while(temp){if(temp%10 == 1)count++;temp = temp/10;}}return count;}
};
剑指offer中还有另一种不同的方法,通过寻找数字的规律P221,但看起来好复杂。。。预留,再找个时间或者第二遍复习的时候再看。。。。。。
数据结构-剑指offer-整数中1出现的次数相关推荐
- 剑指offer——整数中1出现的次数(从1到n整数中1出现的次数)
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
- 剑指offer 矩阵中的路径 @python
剑指offer 矩阵中的路径 @python 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向 ...
- 8. 返回数组里出现次数最多的数字_剑指offer 数组中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- 力扣-图解算法数据结构-剑指 Offer 05. 替换空格
题目要求 力扣题解 代码 /*** @program: mydemo* @description: 剑指 Offer 05. 替换空格* @author: Mr.zeng* @create: 2021 ...
- LeetCode-剑指43-1-n整数中出现1的次数
1.逐位统计 我们统计每一位k上面可能出现1的次数:1.对于每一位k上面的出现的1,我们首先统计其出现 ( n / 1 0 k ) × 1 0 k − 1 (n/10^k)\times10^{k-1} ...
- python加减法计算题 代码_关于《剑指offer》中不用加减乘除做加法的Python代码的问题...
题目如下: 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 题目不难,可以采用位操作来实现,利用异或运算来计算不带进位的加法结果,利用与运算计算进位的标志,然后将这两个 ...
- 剑指Offer——链表中倒数第K个节点
1.题目描述 输入一个链表,输出该链表中倒数第k个结点. 2.代码实现 package com.baozi.offer;/*** @author BaoZi* @create 2019-07-11-1 ...
- [剑指Offer]-矩阵中的路径
题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...
- 剑指offer——数据流中的中位数
题目: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我们使 ...
最新文章
- struts2+hibernate-jpa+Spring+maven 整合(1)
- opencv中resize函数
- python详细安装步骤-Pycharm及python安装详细教程(图解)
- 【Linux】一步一步学Linux——alias命令(205)
- sublime3安装package controller遇到的问题
- python接口测试demo_python http接口自动化测试简单demo
- 《北妹》:中国七零后作家的一次火山喷发(答记者问)
- 实例说明代码段(.text)、数据段(.data)、bss段、只读数据段(.rodata)、堆栈的划分依据
- jpg png webp_为在线图像删除PNG和JPG:使用WebP
- python线程池并发爬虫_python 并发专题(二):python线程以及线程池相关以及实现...
- rpm 安装 mysql5.6.28_Linux(Ubuntu)下Mysql5.6.28安装配置方法图文教程
- wget mirror
- 构建wifi破解所需的密码库文件
- roller java,月光软件站 - 编程文档 - Java - 修改ReadMorePlugin.java,使其支持中文标题(roller webblog)...
- python自动轨迹绘制七边形_断面法计算土方步骤及其技巧
- [ZT]大型企业局域网安全解决方案
- 这些月薪过万的公司你准备好了吗
- 史玉柱给创业者的五条建议
- 读论文Beyond Part Models Person Retrieval with Refined Part Pooling
- 【调剂】福建师范大学海峡创新实验室覃弦接收调剂研究生