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

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.hqwc.cn/news/132774.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

018-第三代软件开发-整体介绍

第三代软件开发-整体介绍 文章目录 第三代软件开发-整体介绍项目介绍整体介绍Qt 属性系统QML 最新软件技术框架 关键字&#xff1a; Qt、 Qml、 属性、 Qml 软件架构 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Object …

QT5 WebCapture 页面定时截图工具

QT5 WebCapture 网页定时截图工具 1.设置启动时间&#xff0c;程序会到启动时间后开始对网页依次进行截图 2.根据所需截图的页面加载速度&#xff0c;设置页面等待时间&#xff0c;尽量达到等页面加载完成后&#xff0c;再执行截图 3.根据需求&#xff0c;设置截图周期 4.程序…

UDP和TCP特点(部分)对比:

传输层的两个主要协议&#xff1a;TCP 和 UDP UDP和TCP特点&#xff08;部分&#xff09;对比&#xff1a; UDP&#xff1a;无连接&#xff0c; 不可靠传输&#xff0c; 面向数据报&#xff0c; 全双工。 TCP&#xff1a;有连接&#xff0c; 可靠传输&#xff0c; 面向字节流…

英语——方法篇——单词——谐音法+拼音法——50个单词记忆

theatre&#xff0c;剧场&#xff0c;太后th吃eat热re食物&#xff0c;就去剧场了 loud dolphin&#xff0c;做do脸皮厚plh在。。。里 humid&#xff0c;hu湖mi米d的 blender&#xff0c;b爸lend借给er儿。 tragedy&#xff0c;tr土人

layui tree监控选中事件,同步选中和取消

需求&#xff1a;需要分配权限时&#xff0c;要通过组织架构分配&#xff0c;也要通过角色分配&#xff0c;还是把选择的结果显示出来 结果如下图 代码分页面&#xff0c;类和SQL 页面&#xff1a; <% Page Language"C#" AutoEventWireup"true" Code…

视频监控系统/安防视频平台EasyCVR广场视频细节优化

安防视频监控系统/视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防视频汇聚平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;可实现视频监控直播、视频轮播、…

JVM篇---第九篇

系列文章目录 文章目录 系列文章目录一、什么是指针碰撞&#xff1f;二、什么是空闲列表三、什么是TLAB&#xff1f; 一、什么是指针碰撞&#xff1f; 一般情况下&#xff0c;JVM的对象都放在堆内存中&#xff08;发生逃逸分析除外&#xff09;。当类加载检查通过后&#xff0…

抖音小程序没人做了吗?

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 咱说的严谨点&#xff0c;不是没人做了&#xff0c;而是做的人少了。利益驱使&#xff0c;越来越多的人开始思考新方向了&#xff0c;开发小程序的人少了&#xff0c;排名也没多少人做了&#xff…

【数据结构】深入探讨二叉树的遍历和分治思想(一)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要讲述二叉树的递归结构及分治算法的思想。 目录&#xff1a; &#x1f30d;前言&#xff1a;&#x1f30d;…

基于SpringBoot的网上摄影工作室

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 作品分类管理 轮播图管理 摄影作品管理 摄影作品收藏 摄影圈 摄影作品发布 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统…

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

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

Web1.0——Web2.0时代——Web3.0

Web1.0 Web1.0是互联网的早期阶段&#xff0c;也被称为个人电脑时代的互联网。在这个阶段&#xff0c;用户主要通过web浏览器从门户网站单向获取内容&#xff0c;进行浏览和搜索等操作。在这个时代&#xff0c;技术创新主导模式、基于点击流量的盈利共通点、门户合流、明晰的主…