​力扣解法汇总2180. 统计各位数字之和为偶数的整数个数

news2024/11/22 5:49:04

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

给你一个正整数 num ,请你统计并返回 小于或等于 num 且各位数字之和为 偶数 的正整数的数目。

正整数的 各位数字之和 是其所有位上的对应数字相加的结果。

示例 1:

输入:num = 4
输出:2
解释:
只有 2 和 4 满足小于等于 4 且各位数字之和为偶数。    

示例 2:

输入:num = 30
输出:14
解释:
只有 14 个整数满足小于等于 30 且各位数字之和为偶数,分别是: 
2、4、6、8、11、13、15、17、19、20、22、24、26 和 28 。

提示:

  • 1 <= num <= 1000

解题思路:

* 解题思路:
* 最简单的方式自然是一个数一个数的计算,这样效率太低。我们不讲。
* 把一个数进行分割,比如251,
* 先计算出200<n的符合条件的数量,
* 然后计算出200<=n<250符合条件的数量,
* 最后计算250<=n<=251的数量

代码:

public class Solution2180 {

    public int countEven(int num) {
        if (num < 10) {
            return num / 2;
        }
        int oldNum = num;
        int level = 1000;
        int sum = 0;
        while (level > 0) {
            int num1 = getNum(oldNum, num / level, level);
            sum += num1;
            num -= num / level * level;
            level = level / 10;
        }
        return sum - 1;
    }

    private int getNum(int oldNum, int n, int level) {
        if (level > 1) {
            return n * level / 2;
        }
        int num = 0;
        for (int i = oldNum / 10 * 10; i <= oldNum; i++) {
            if (getSum(i) % 2 == 0) {
                num++;
            }
        }
        return num;
    }

    private int getSum(int i) {
        int sum = 0;
        while (i > 0) {
            sum += (i % 10);
            i = i / 10;
        }
        return sum;
    }

}

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

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

相关文章

xpath获取标签之间的文本内容

目前在学习xpath&#xff0c;需要取一个package信息&#xff0c;如图&#xff1a; 标题 "package"在span里面&#xff0c;比较方便取&#xff0c;用这个xpath就行&#xff1a; //div[idartikeltabelle]/table/tbody/tr[1]/td[2]/span[classinsertlabela and text()pa…

/mmcv/_ext.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN3c107Warning

报/mmcv/_ext.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN3c107Warning 就是mmcv或者mmcv-full编译有问题&#xff1b; 尝试了mmcv_full-1.7.1-cp36-cp36m-manylinux1_x86_64.whl pip 安装&#xff0c;都不是对应版本&#xff1b; 在安装mmcv或者mmcv-full都是无…

如何用PPT画出好看的科研图

前言 好看的科研图可以从前人的作品中进行借鉴&#xff0c;今天介绍2副精美的科研图以及他们在PPT中的绘制方法&#xff0c;话不多说&#xff0c;先摆上标准科研图 1. 黑色粗体边框以及淡填充颜色 黑色粗体边框和淡填充颜色真的让矩形一下子变得很有质感&#xff0c;在学习的…

VMware Fusion设置静态IP+端口转发(macOS)+内网穿透

很少有资料提到配置macOS上VMware Fusion的端口转发&#xff0c;因此我在这里进行了一些记录打开网络设置解锁并添加新的网络适配器只有新的网络适配器才允许配置转发&#xff0c;默认的不允许这样做。设置NAT转发虚拟机选择使用新创建的虚拟网络适配器Ubuntu配置静态IP/DNS服务…

linux xshell用户免密登录设置

最重要准备工作 ​编辑linux xshell用户免密登录设置步骤 1.在xshel进行密钥获取操作 2.创建mkdir ~/.ssh目录&#xff08;检查有没有这个目录&#xff0c;没有自己添加&#xff09; 3.在该目录创建authorized_keys目录。注意&#xff08;目录权限为600&#xff09; 4.将刚…

Android Studio arctic Fox(北极狐)导入openCV

Android studio arctic Fox在引入opencv的时候按照正常的File->New->Import Module操作时&#xff0c;出现无法点击“Next”和“Finish”的情况。如下图 所以我们使用另外的方法进行引入。 准备工作&#xff1a; 1&#xff0c;Android Studio 2&#xff0c;下载opencv…

纪念2022年11月软考高项(信息系统项目管理师)一次通过的经验随笔

一、备考背景2022年5月的浙江软考因为疫情防控原因临时取消&#xff0c;我离杭州买房又远了几分。众所周知&#xff0c;杭州是炒房投资客的香饽饽&#xff0c;即使主城区购房摇号制度不停打补丁&#xff0c;也难济于事。自住客为了与投资客抗衡&#xff0c;一靠社保&#xff0c…

新品做软文推广发布在哪些平台好?

新产品上市前后&#xff0c;会经历开发期、介绍期、成长期、成熟期、衰退期五个阶段&#xff0c;每个阶段都需要软文推广的助力&#xff01; 当一款新品上市前后往往会面临着无法打开市场、产品卖不出去等问题&#xff0c;这个时候软文推广就要做到位&#xff0c;除了文章撰写…

在centos7安装KubeSphere

节点准备 设置hostname hostnamectl set-hostname ks-m4 关闭防火墙 启动&#xff1a; systemctl start firewalld 关闭&#xff1a; systemctl stop firewalld 查看状态&#xff1a; systemctl status firewalld 开机禁用 &#xff1a; systemctl disable firewalld 开机…

SAP 通过 OData Service 反查 CDS View 位置 视图「Workaround」

前言 使用场景&#xff1a;目前已知 OData Service 由 CDS View 发布&#xff0c;但是想要查看该 CDS 的具体内容 根据 OData Service 获取关键信息盲猜对应底表通过 SE11 反查引用位置 猜底表 目前已知 OData Service URL: http://xxx.xxx.com:xxxx/sap/opu/odata/sap/ZCD…

栉风沐雨砥砺行,春华秋实满庭芳——华秋电子2022年度大事记

岁序更替&#xff0c;春华秋实 转眼间&#xff0c;2022年已是过去 回首2022年&#xff0c;华秋肩负使命 持续为电子产业增效降本。 我们加大研发投入&#xff0c;提升全球交付保障能力&#xff1b; 我们以创新引领发展&#xff0c;以实干笃定前行&#xff1b; 以品质为基…

JetBrains 学生和教师认证教程

目录一、学生和教师授权申请方式二、申请网址三、激活JetBrains产品&#xff08;如PyCharm、IDEA&#xff09;一、学生和教师授权申请方式 详见官方教程&#xff1a; JetBrains 学生和教师授权申请方式 二、申请网址 学生和教师可以使用在学校注册的邮箱账号来申请。 新申请…

「EZEC-4」可乐(2种方法:差分+位运算 | 枚举+字典树)

「EZEC-4」可乐 洛谷&#xff1a;「EZEC-4」可乐 题目背景 很久以前&#xff0c;有一个 pigstd&#xff0c;非常迷恋美味的可乐。为了得到美味的可乐&#xff0c;他几乎用尽了所有的钱&#xff0c;他甚至对自己的 npy 也漠不关心其实是因为他没有npy&#xff0c;更不爱好看戏…

C语言实现烟花表白,内含源码!!

虽然现在看烟花有一定难度&#xff0c;但代码式烟花可以随时随地看&#xff01; 烟花的代码很多&#xff0c;实际上是可以用 Python、HTML5 等语言写烟花&#xff0c;但今天主要想和大家分享用C语言写的烟花代码&#xff0c;非常细致和实用。 同学们一定要亲自敲一遍&#xf…

机器视觉(八):图像特征提取

目录&#xff1a; 机器视觉&#xff08;一&#xff09;&#xff1a;概述 机器视觉&#xff08;二&#xff09;&#xff1a;机器视觉硬件技术 机器视觉&#xff08;三&#xff09;&#xff1a;摄像机标定技术 机器视觉&#xff08;四&#xff09;&#xff1a;空域图像增强 …

理解文件系统

之前的东西&#xff0c;全部是在内存中的。但是我们知道&#xff1a;不是所有的文件&#xff0c;都被打开了。大量的文件&#xff0c;就在磁盘上放着&#xff0c;什么都不做。这些文件非常多&#xff0c;杂&#xff0c;乱。而磁盘级别的文件管理&#xff0c;本质工作就能够快速…

maven第三篇:maven 简单命令

上一篇聊了在IDE中如何创建maven项目&#xff0c;后面说到了maven会有一些常用的命令&#xff0c;现在就对命令进简单演示。 注意&#xff1a; 1&#xff1a;命令需要在windows桌面系统下的dos窗口运行。 2&#xff1a;下面演示的命令除了查看版本信息的命令外&#xff0c;很…

科技创未来!中国低代码平台公司流辰信息用实力护您增产又增收!

流辰信息科技&#xff0c;是一家以研发低代码开发平台为使命的中国低代码平台公司&#xff0c;坚持以客户需求为主导&#xff0c;以开源促创新&#xff0c;努力做强做大流辰信息&#xff0c;争创宏伟未来。 在多年的奋斗耕耘中&#xff0c;流辰信息坚持研发&#xff0c;让产品的…

磨金石教育分享||想转行学习插画,应该怎么做,需要什么基础?

近年来&#xff0c;随着互联网行业的快速崛起&#xff0c;来自广告、自媒体、影视、游戏、动漫等多个行业对插画师这一职业求贤若渴。招聘网站信息不觉&#xff0c;特别是一些经验丰富&#xff0c;水平较高的插画师&#xff0c;在业内享有较高的声誉&#xff0c;是各个公司的主…

LaTeX 进阶语法

文章目录LaTeX进阶语法一、 样式排版1、 字体和字号1.1 字体样式1.2 字号1.3 ctex宏包更改中文字体1.4 文字装饰2、 段落格式和间距2.1 长度和长度变量2.2 行距2.3 段落格式2.4 水平间距2.5 垂直间距3、 页面和分栏3.1 页面介绍3.2 利用 geometry 宏包设置页面参数3.3 页面内容…