JavaScript算法43- 分类求和并作差(leetCode:100103easy)周赛

news2024/11/15 8:02:57

2894. 分类求和并作差

一、题目

给你两个正整数 nm

现定义两个整数 num1num2 ,如下所示:

  • num1:范围 [1, n] 内所有 无法被 m 整除 的整数之和。
  • num2:范围 [1, n] 内所有 能够被 m 整除 的整数之和。
    返回整数 num1 - num2

示例

输入:n = 10, m = 3
输出:19
解释:在这个示例中:
- 范围 [1, 10] 内无法被 3 整除的整数为 [1,2,4,5,7,8,10] ,num1 = 这些整数之和 = 37 。
- 范围 [1, 10] 内能够被 3 整除的整数为 [3,6,9] ,num2 = 这些整数之和 = 18 。
返回 37 - 18 = 19 作为答案。

提示:

  • 1 <= n, m <= 1000

二、题解

  • 思路:(求出范围[1,n]的整数和) - (求出[1,n]內能够被整除的整数和)*2
/**
 * @param {number} n
 * @param {number} m
 * @return {number}
 */
var differenceOfSums = function(n, m) {
    const sum1 = add(n);
    const sum2 = m * add(Math.floor(n/m)) 
    return sum1 - sum2*2;
};

var add = function(n){
    if(n==1 || n ==0){
        return n;
      }else{
        return add(n-1)+n;
      }
}

这里我写了一个函数,专门用来求1+2+…+n 的和

优化:使用等差数列求和的公式,免去新建一个函数,循环计算
在这里插入图片描述
和=(首项+末项)×项数÷2

➡️ 1+2+3+…+n = n*(n+1) / 2

优化后

var differenceOfSums = function(n, m) {
    let sum1 = n * (n + 1)/2;
    // 能够被 m 整除的项数
    const num = Math.floor(n/m);
    const sum2 = m * num * (num + 1) / 2;
    return sum1 - sum2 * 2;
};

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

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

相关文章

Spring Cloud 微服务系列文章合集,一次性看个够!

微服务架构图 为了方便大家可以直接下载编辑&#xff0c;这里用的ProcessOn画的架构图&#xff0c;可以直接克隆一个出来进行编辑&#xff0c;地址&#xff1a;https://www.processon.com/view/6523a1b37fde9c4bb35c7278 微服务系列文章合集&#xff0c;点击阅读 Spring Cl…

CAD(计算机辅助设计)软件的开发框架

CAD&#xff08;计算机辅助设计&#xff09;软件的开发通常使用特定的CAD开发框架和工具。这些框架提供了一组API&#xff08;应用程序编程接口&#xff09;和开发工具&#xff0c;使开发人员能够创建自定义插件、应用程序和功能。以下是一些常见的CAD开发框架和平台&#xff0…

linux系统配置Samba实现与Windows系统的文件共享

1.linux系统下载安装Samba sudo apt install samba 2.在linux文件系统中创建一个共享目录(通常在用户目录下面创建一个名为share的目录) mkdir share 3.修改samba配置文件 sudo vim /etc/samba/smb.conf 添加配置信息(path share路径,需要修改) ,保存修改 [Share]comm…

MySQL-3(9000字详解)

一&#xff1a;索引 索引是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引&#xff0c;并指定索引的类型&#xff0c;各类索引有各自的数据结构实现。 1.1索引的意义 索引的意义&#xff1a;加快查找速度&#xff0c;但需要…

什么是嵌入式Linux?

什么是嵌入式Linux&#xff1f; 对于很多电气、电信、通信专业的同学来说&#xff0c;对口专业就业方向主要有软、硬件两个方向。无论是对于学生还是就业而言&#xff0c;软硬件的开发学习&#xff0c;嵌入式物联网在近年来无疑是一个摆在面前的“香饽饽”。 近年来国家社会愈…

百花齐放:解锁大型语言模型的潜力 | 开源专题 No.32

这一系列开源项目共同特点在于它们提供多模型支持、具备可定制性、开源可自由修改、并且提供多功能性&#xff0c;为用户提供了灵活、强大的AI聊天和模型访问工具&#xff0c;为AI交互和实验提供了广泛的选择和创新机会。 jtsang4/claude-to-chatgpt Stars: 2.3k License: MI…

JavaScript和Java的区别是什么?

目录 一、不同的公司开发的不同产品。 二、使用的方向不同 三、对象不同 四、HTML文档中采用的标识不同 五、语言类型不同 六、在浏览器中所执行的方式不同 七、代码格式不同 八、所采取的变量是不同 九、联编方式不一样 十、对图文操作方式不一样 很多初学者看到Jav…

echarts折线图设置背景颜色

initChartsBox() {this.option {tooltip: {trigger: "axis",axisPointer: {// 方法一type: "shadow", // 默认为直线&#xff0c;可选为&#xff1a;line | shadowshadowStyle: {color: "rgba(41, 95, 204, 0.2)",},},borderColor: "rgba(…

解决Mysql时区问题

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等…

TCP/IP(五)TCP的连接管理(二)三次握手细节

一 ISN序列号探究 本文主要探究三次握手建立TCP连接的细节备注&#xff1a; 某些问题探究的比较深入,当前用不到,暂时通过链接引入进来吃水不忘挖井人&#xff1a; 小林 coding ① 初始序列号 ISN 是如何随机产生的 ISN: 初始化序列号 Initial Sequence Number 接收方和…

数学重构 数学大纲 学习不能停 在这个领域再也没有进步了 卡在哪里了?已经掉队了怎么办?如何一直保持遥遥领先

七大基础学科依次为数学、逻辑学、天文学和 地球科学 、物理学、化学、 生命科学 。一个人能否全部学习的很牛&#xff0c;像chatGPT一样。今天开始来试下。 数学可以从基础开始学起&#xff0c;然后逐渐深入学习更高级的概念和技能。以下是一个建议的数学学习路径&#xff1a…

07-Zookeeper分布式一致性协议ZAB源码剖析

上一篇&#xff1a;06-Zookeeper选举Leader源码剖析 整个Zookeeper就是一个多节点分布式一致性算法的实现&#xff0c;底层采用的实现协议是ZAB。 1. ZAB协议介绍 ZAB 协议全称&#xff1a;Zookeeper Atomic Broadcast&#xff08;Zookeeper 原子广播协议&#xff09;。 Zook…

汉明距离00

题目链接 汉明距离 题目描述 注意点 汉明距离指的是这两个数字对应二进制位不同的位置的数目 解答思路 要找到两个数字对应二进制位不同的位置&#xff0c;首先要用到异或运算符&#xff0c;对x和y进行异或计算后&#xff0c;可以得到二进制位不同位置为1其余位置为0的二进…

docker搭建rocketmq集群

单机搭建 1 拉取rocketMq镜像 docker pull rocketmqinc/rocketmq:4.3.2 2 创建挂在目录 mkdir -p /mydata/rocketmq/data/namesrv/logs /mydata/rocketmq/data/namesrv/store mkdir -p /mydata/rocketmq/data/broker/logs /mydata/rocketmq/data/broker/store mkd…

3D WEB轻量化引擎HOOPS:促进CAD软件的创新与协作

CAD软件一直以来都在现代工程、建筑、制造和设计领域发挥着至关重要的作用。在数字时代&#xff0c;CAD软件的开发者不断追求提高软件性能、增加功能和改善用户体验&#xff0c;在这一努力中&#xff0c;HOOPS技术&#xff08;高度优化的面向对象并行软件&#xff09;滑块露头角…

vmware安装ubuntu22.04无法和window主机拷贝文件处理

背景 vmware安装ubuntu系统一般安装了vmware tools就能实现和主机相互拷贝文件&#xff0c;但是ubuntu22.04失败了&#xff0c;原因是新版本呢ubuntu&#xff08;22.04&#xff0c;20.04等&#xff09;默认启用了新版的窗口系统Wayland而非原来的X11&#xff0c;而vmware tool…

AI情绪检测器:准确检测并解读人类情绪

一、前言 情绪分析在数字世界中被广泛应用&#xff0c;用于评估消费者对产品或品牌的情绪。然而&#xff0c;在线下环境中&#xff0c;用户与品牌和产品进行互动的场所&#xff08;如零售店、展示厅&#xff09;仍然面临着自动测量用户反应的挑战。使用人工智能进行面部表情情…

什么是国密证书?

国密证书是指中国自主研发的密码算法和加密技术所生成的数字证书。它是为了保护国家信息安全而开发的一种电子证书标准。 国密证书采用了国际上通用的X.509v3标准&#xff0c;但具有自己独特的密码算法和密钥长度。这些算法和密钥长度在国际上被广泛接受并认可&#xff0c;同时…

【PPT制作】基础篇

文章目录 一、PPT制作必要的基础设置1.1 自动保存1.2 字体嵌入1.3 撤销步数1.4 图像大小和质量 二、必备快捷键三、设计四原则四、总结 ヾ(๑╹◡╹)&#xff89;" 没有坚持的努力&#xff0c;本质上并没有多大意义ヾ(๑╹◡╹)&#xff89;" 一、PPT制作必要的基础…

轨道交通上的安科瑞精密配电多回路监控装置

安科瑞 崔丽洁 一、行业背景 轨道交通作为城市公共交通系统的一部分&#xff0c;在过去几十年中得到了广泛的发展和扩张。它在解决城市交通拥堵、减少环境污染、提高城市可持续性等方面发挥了重要作用。随着科技的进步&#xff0c;轨道交通系统也在不断引入新的技术和创新&…