方法如下:

1、暴力解法

使用for循环直接逐个求解,算法复杂度为O ( n ) O(n)O(n)

/**

*

暴力解法

* @param startInclusive

* @param endExclusive

* @return

*/

public int sumByDirect(int startInclusive, int endExclusive){

int sum = 0;

for (int i = startInclusive; i < endExclusive; i++) {

sum += i;

}

return sum;

}

2、流式编程

同暴力解法一样,不过使用了声明式的流式编程,代码量更少并且更加的具有可读性

/**

*

流式编程

* @param startInclusive

* @param endExclusive

* @return

*/

public int sumByStream(int startInclusive, int endExclusive){

return IntStream.range(startInclusive, endExclusive).sum();

}

3、利用求和公式

利用等差数列求和公式

复杂度为O ( 1 ) O(1)O(1)

/**

*

利用求和公式

* @param startInclusive

* @param endExclusive

* @return

*/

public int sumByFormula(int startInclusive, int endExclusive){

return ((startInclusive + endExclusive - 1) * (endExclusive - startInclusive) ) >> 1;

}

测试:

@Test

public void Test() {

System.out.println("sumByDirect=" + sumByDirect(1, 101));

System.out.println("sumByStream=" + sumByStream(1, 101));

System.out.println("sumByFormula=" + sumByFormula(1, 101));

}

输出结果:

sumByDirect=5050

sumByStream=5050

sumByFormula=5050

java 100以内的整数和_java计算100以内的正整数和的三种方法相关推荐

  1. java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法

    标签: http://feifei.im/archives/93 ---------------------------------------------- 项目要用到doc转pdf的功能,一番go ...

  2. java在文件的后面添加_java 在file的尾部添加数据的两种方法总结

    java 在file的尾部添加数据的两种方法总结 问题描述: 在文件的末尾追加内容 方法1:利用RandomAccessFile类 1.将randomAccessFile模式设置为rw 2将rando ...

  3. java除法保留两位小数_JAVA除法保留小数点后两位的两种方法

    1.利用Math.round()的方法: 两个int型的数相除,结果保留小数点后两位: int a=1188; int b=93; double c; c=(double)(Math.round(a* ...

  4. java字符转为数字_Java 判断字符串能否转化为数字的三种方法

    linux shell 常用指令 1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止 ...

  5. java快速寻找一个数组的最大值或最小值, min, max,三种方法

    java 中 寻找一个数组中的最大值或最小,除了自己专门编写一个 min 或 max 函数外,还有几种方式方便使用. 1. 使用 stream 将一个数组放进 stream 里面,然后直接调用 str ...

  6. java输出链表的值_[剑指offer] 从尾到头打印链表(三种方法) java

    一.每次把新遍历的链表值放到list索引为0的位置,实现逆序. public class Solution { public ArrayList printListFromTailToHead(Lis ...

  7. Java黑皮书课后题第7章:**7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数。假定输入0表示结束

    7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数 题目 题目描述+运行示例 破题 法一 法二 代码 法一:硬生生解出来 法二完整代码 题目 题目描述+运行示例 ...

  8. 算法训练 加法运算(你的表妹正在学习整数的加法,请编写一个程序来帮助她学习。该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示)

    问题描述 你的表妹正在学习整数的加法,请编写一个程序来帮助她学习.该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示出来.要求: ...

  9. php100以内质数求和,100以内的质数_PHP质数计算三种方法 php求100以内的质数

    摘要 腾兴网为您分享:PHP质数计算三种方法 php求100以内的质数,自动刷宝,长沙银行,猿辅导,愈加等软件知识,以及cf一键刷枪,业主名录采集软件,卡乐光电,魔方虚拟光驱,掌上徐州,卡农社区,fa ...

最新文章

  1. 正则的实例用法,删除包含某些字符的字符串
  2. python使用matplotlib可视化线图(line plot)、并自定义设置可视化图像线条的类型(specify the line style of a plot in matplotlib)
  3. 落地即一地鸡毛,AI落地存在的难题有哪些?
  4. app.config中增加appSettings节点,conn.open时报初始化错误
  5. Visual C#的SQL Server编程
  6. 浅谈Service Mesh体系中的Envoy
  7. 成都内推 | 腾讯游戏王者荣耀算法团队招聘算法实习生
  8. WINFORM 调用 Close 不会释放窗体
  9. HttpModule httpHandle 执行顺序
  10. 坚果pro2刷机分享
  11. java缓存技术memcached实例
  12. win10安装steam有损计算机,Win10专业版修复Steam磁盘写入错误的方法
  13. 东华大学(C++)OJ题目收集(代码详解版)
  14. legacy引导gpt分区_uefi和legacy哪个好?UEFI+GPT与Legacy+MBR的不同之处
  15. 网易2018校园招聘编程题真题集合3字符串碎片
  16. cad批量转换pdf格式
  17. Android KitCat 4.4.2 ADB 官方所支持的所有Services格式翻译
  18. IPUDN(用于单幅图像去雾的透射图和大气光导迭代更新器网络)CVPR_2020
  19. PyTorch深度学习实践(b站刘二大人)P6讲 逻辑斯蒂回归 Logistic Regression
  20. mysql1300错误什么意思_MySQL ERROR 1300 (HY000): Invalid utf8 character string

热门文章

  1. ​包装“华丽且真实”的外汇资金盘,真的就无法避免吗?
  2. 机械图纸英文标识诠释
  3. 2023年华为认证(H12-811)新增题库(新测现在可以拿850分)
  4. 通过扩展 Rational Functional Tester 对 Adobe Flex 或 Flash 应用程序进行测试
  5. FLASH制作全套装备(已测试)
  6. 电子设计(6)双电源自动切换电路
  7. 【论文写作】企业投资价值分析系统绪论参考
  8. 谷歌浏览器使用迅雷下载资源
  9. Halo 开源项目学习(四):发布文章与页面
  10. 2017考研计算机百度云,2017考研计算机统考408真题版.pdf