当前位置: 首页 > web >正文

LeetCode 2894.分类求和并作差

目录

题目:

题目描述:

题目链接:

思路:

思路一详解(遍历 + 判断):

思路二详解(数学规律/公式):

代码:

Java思路一(遍历 + 判断)代码:

Java思路二(数学规律/公式)代码:


题目:

题目描述:

题目链接:

2894. 分类求和并作差 - 力扣(LeetCode)

思路:

思路一详解(遍历 + 判断):

按照题目要求,从1遍历到n,判断每个数是否能被m整除,若能被m整除将该数加至num2,若不能被m整除将该数加至num1,最后返回num1-num2即可

时间复杂度:O(n)  1<=n,m<=1000  数据很小不会超时

思路二详解(数学规律/公式):

这里直接引用灵神-“灵茶山艾府”的数学推导图

时间复杂度:O(1)

代码:

Java思路一(遍历 + 判断)代码:

class Solution {public int differenceOfSums(int n, int m) {int num1=0;int num2=0;for(int i=1;i<=n;i++){if(i%m==0){num2+=i;}else{num1+=i;}}return num1-num2;}
}

Java思路二(数学规律/公式)代码:

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

http://www.xdnf.cn/news/12934.html

相关文章:

  • 什么是函数对象
  • 【ArcGIS技巧】—村庄规划规划用地规划状态字段生成工具
  • 并发请求函数batchRequests
  • 类加载的过程
  • 【算法笔记】树套树
  • RSA和AES算法核心区别和原理解析
  • Python地理数学可视化:基于函数生成真实感地形
  • WebFuture 升级提示“不能同时包含聚集KEY和大字段””的处理办法
  • 【Docker 02】Docker 安装
  • 71常用控件_QHBoxLayout的使用
  • 浅谈未来汽车电子电气架构发展趋势中的通信部分
  • 【无人机】MavLink通讯协议的回调解析函数及状态机
  • AtCoder Beginner Contest 409(ABCDEF)
  • 深入解析对比学习:原理、应用与技术实现
  • 前端打包工具简单介绍
  • JavaWeb 三层架构简单介绍与案例实现
  • QEMU源码全解析 —— 块设备虚拟化(24)
  • 【Linux应用】Linux系统日志上报服务,以及thttpd的配置、发送函数
  • Java八股文——并发编程「场景篇」
  • 湖北理元理律师事务所实务手记:个人债务管理的理性突围
  • 65、.NET 中DllImport的用途
  • 轻量级数学竖式训练方案解析
  • Go语言多线程问题
  • Java 中字节流的使用详解
  • 用 AI 开发 AI:原汤化原食的 MCP 桌面客户端
  • UDP连接套接字与异步Socket通道详解
  • Java核心技术-卷I-读书笔记(第十二版)
  • ESP12E/F 参数对比
  • 单线程模型中消息机制解析
  • Map 接口