首页 > 其他分享 >从 1 到 n 整数中 1 出现的次数

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

时间:2023-04-20 11:26:43浏览次数:27  
标签:10 right int res 整数 次数 -- 出现 left

class Solution {
public:
    int numberOf1Between1AndN_Solution(int n) {
        vector<int> q;
        do
        {
            q.push_back(n%10);
            n/=10;
        }while(n);
        int res=0;
        for (int i = q.size()-1; i >=0 ; i -- )//从最高位开始
        {
            int left=0,right=0,t=1;
            for (int j = q.size()-1; j > i; j -- )   left=left*10+q[j];
            for (int j = i-1; j >= 0; j -- )    right=right*10+q[j],t=t*10;
            res+=left*t;//前两位小于ab时
            //前两位取ab时
            if(q[i]==1) res+=right+1;
            else if(q[i]>1) res+=t;
        }
        return res;
    }
};

标签:10,right,int,res,整数,次数,--,出现,left
From: https://www.cnblogs.com/tangxibomb/p/17336115.html

相关文章

  • Dynamics CRM - 如何修复安装CRM 2016时出现SQL Native Client 下载失败的问题
    一、问题场景:   近日,为了测试DynamicsCRM8.2到9.17的升级,重装了CRM2016,过程中发现存在SQLNativeClientDownloadFailed导致安装无法继续进行。在此记录一下问题的解决办法:二、查找原因:   a.首先通过访问安装日志目录查看原因,路径为:SystemDrive:\Users\U......
  • 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储单个数字。你可以假设除了整数0之外,这个整数不会以零开头。示例 1:输入:digits=[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例 2:输入:dig......
  • 正则表达式--正负整数
    BOOLCheckNumValid(CStringstrIn){ wstringszName=strIn.GetBuffer(); strIn.ReleaseBuffer(); std::wregexreg(L"^(([1-9]+\d*)|(0{1}))(.\d{1,2})?"); std::wsmatchresult; BOOLbIsValid=regex_match(szName,result,reg); if(!bIsValid) {......
  • pycharm中运行js文件出现UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in
      在做有道翻译时发现python文件中调用js文件并读取,出现了UnicodeDecodeError:'gbk'codeccan'tdecodebyte0xafinposition205:illegalmultibytesequence报错。其实修改很简单,我们只需要将subprocess.py文件Popen类属性中的enconding='None',改为enconding='utf-8'就可......
  • 本地访问正常,部署之后出现mybatis访问数据库失败
     问题:本地访问一切正常,部署到阿里云之后出现mybatis访问数据库失败,反正就是无法连接到数据库,jdbc连接失败。{"timestamp":"2023-04-18T14:03:49.341+0000","status":500,"error":"InternalServerError","message":"nestedex......
  • 宏基因组学是如何出现的?它的出现对微生物学领域有多大的改变?
    宏基因组学是在生物技术和计算机科学的帮助下发展起来的,它的出现可以追溯到上世纪90年代后期。传统微生物学侧重于使用培养方法研究单个微生物菌落,而宏基因组学则通过分析环境中的dna,可以同时研究数百万个微生物群体。这种方法能够提供关于整个微生物群落的结构、功用潜力和相互作......
  • 线程委任出现冲突
    当我们在C#中编写委托事件进行传递参数来改变对象属性时,容易引起另一个线程拥有该对象的现象,这是线程之间的关联问题,要想解决此问题,我们就要将委托回来的线程对象和当前函数中的线程对象相关联。//将出现问题的代码放在此函数中Dispatcher.Invoke(newAction(......
  • mysql锁及锁出现总结
    转载请注明出处:1.按锁粒度分类:行锁:锁某行数据,锁粒度最小,并发度高;;行锁是指加锁的时候锁住的是表的某一行或多行记录,多个事务访问同一张表时,只有被锁住的记录不能访问,其他的记录可正常访问;行锁是对所有行级别锁的一个统称,比如下面说的记录锁、间隙锁、临键锁都是属于行锁表锁:锁整张......
  • 【剑指 Offer】67. 把字符串转换成整数
    【题目】写一个函数StrToInt,实现把字符串转换成整数这个功能。不能使用atoi或者其他类似的库函数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起......
  • m规则LDPC和非规则LDPC误码率matlab对比仿真,并对比不同译码迭代次数的误码率
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要LDPC码是麻省理工学院RobertGallager于1963年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,因此成为编码界近年来的研究热点。它的性能逼近香农极限,且描述和实现简单,易于进行理论......