【算法题】100103. 分类求和并作差

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
坚持不懈,越努力越幸运,大家一起学习鸭~~~

题目:

给你两个正整数 n 和 m 。

现定义两个整数 num1 和 num2 ,如下所示:

num1:范围 1, n 内所有 无法被 m 整除 的整数之和。

num2:范围 1, n 内所有 能够被 m 整除 的整数之和。

返回整数 num1 - num2 。

示例 1:

输入: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 作为答案。
    示例 2:

输入:n = 5, m = 6

输出:15

解释:在这个示例中:

  • 范围 1, 5 内无法被 6 整除的整数为 1,2,3,4,5 ,num1 = 这些整数之和 = 15 。
  • 范围 1, 5 内能够被 6 整除的整数为 \[\] ,num2 = 这些整数之和 = 0 。
    返回 15 - 0 = 15 作为答案。
    示例 3:

输入:n = 5, m = 1

输出:-15

解释:在这个示例中:

  • 范围 1, 5 内无法被 1 整除的整数为 \[\] ,num1 = 这些整数之和 = 0 。
  • 范围 1, 5 内能够被 1 整除的整数为 1,2,3,4,5 ,num2 = 这些整数之和 = 15 。
    返回 0 - 15 = -15 作为答案。

提示:

1 <= n, m <= 1000

java代码:

复制代码
class Solution {
    public int differenceOfSums(int n, int m) {
        return n * (n + 1) / 2 - n / m * (n / m + 1) * m;
    }
}

复杂度分析

时间复杂度:O(1)

空间复杂度:O(1)

相关推荐
BK贝壳3 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
企业数字化笔记5 小时前
视频人体姿态怎么做三维可视化?2D关键点、深度局限与技术选型
人工智能·算法·音视频
?abc!6 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
小郎君6589 小时前
MPTT树复选框的半选状态:一棵百万节点树从递归到计数器,再到区间覆盖
算法
酌沧9 小时前
MemT让记忆成为模型内生能力
jvm·人工智能·算法
Shimeri9 小时前
越卷越像:我用遗传算法做了个"内卷"实验
算法·three.js·数据可视化·遗传算法·进化算法
Evand J10 小时前
【PMSM例程1】永磁同步电机(PMSM)转速与转子电角度观测算法|基于扩展卡尔曼滤波(EKF)的传感器状态估计与误差。附下载链接
算法·电机·1024程序员节·卡尔曼滤波
guo_wen_qiang10 小时前
二叉树的层序遍历-使用双端队列Deque
算法·leetcode·1024程序员节
爱读书的小胖10 小时前
LeetCode 55 跳跃游戏 C 语言解题分析
c语言·数据结构·算法·leetcode·1024程序员节
CCblandy10 小时前
前缀缓存命中率不靠引擎靠排列:本机仿真 3 轮,易变字段放开头 98.0%→0.0%
人工智能·python·算法·自然语言处理·性能优化