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

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;}
}

相关文章:

  • 基于51单片机的花样流水灯
  • 6个月Python学习计划 Day 17 - 继承、多态与魔术方法
  • 程序问题实录
  • Python BeautifulSoup解析HTML获取图片URL并下载到本地
  • 【电路】阻抗匹配
  • 云原生架构赋能企业数字化转型:从理念到落地的系统性探索
  • springboot3.5整合Spring Security6.5默认密码没有打印输出控制台排查过程
  • BeanFactory 和 FactoryBean 有何区别与联系?
  • 在vs2022中的program.cs中已经没有app.useEndpoints
  • 分词算法总结:不同分词算法的优点和缺点
  • K8S认证|CKS题库+答案| 8. 沙箱运行容器 gVisor
  • 从入门到实战:AI学习路线全解析——避坑指南
  • AUTOSAR实战教程--开放式通用DoIP刷写工具OpenOTA开发计划
  • shell脚本 --案例实操
  • 【优选算法】模拟 问题算法
  • 【CSS-7】深入解析CSS伪类:从基础到高级应用
  • 73常用控件_QFormLayout的使用
  • SQL 注入开放与修复
  • 针对异构数据的联邦学习
  • Linux 基础IO(下)
  • 彩票网站建设平台/推广文章的推广渠道
  • 最新手机网站推荐/网络推广方法怎么做
  • 用adsl做网站备案/网络舆情监测与研判
  • 乌鲁木齐做网站哪家好/百度搜索指数是怎么计算的
  • 怎么做软文代发平台网站/seo交流qq群
  • 企业网站的功能模块/建网站多少钱