Java算法基础:使用递归算法实现,平方相加1^2 + 2^2 + 3^2 +...+ n^2。
package algorithm.recursion;
public class RecursionTest {public static void main(String[] args) {int m = 5;int sumOfSquares = sumOfSquares(m);System.out.println("非递归: " + sumOfSquares);int sumSqua1 = recursiveSumSqua1(m);System.out.println("递归1: " + sumSqua1);int sumSqua2 = recursiveSumSqua2(m);System.out.println("递归2: " + sumSqua2);}// 第一种写法private static int recursiveSumSqua1(int n) {int sum = 0;if(n == 1) {sum = 1;}else {sum = n * n + recursiveSumSqua1(n - 1);}return sum;}// 第二种写法private static int recursiveSumSqua2(int n) {if(n == 1) {return 1;}else {return n * n + recursiveSumSqua2(n - 1);}}// 非递归算法private static int sumOfSquares(int n) {int sum = 0;for (int i = 0; i < n; i++) {sum += (i + 1) * (i + 1);}return sum;}
}
水平有限,如有错的地方或需要改进的地方欢迎评论指正。
Java算法基础:使用递归算法实现,平方相加1^2 + 2^2 + 3^2 +...+ n^2。相关推荐
- 算法基础:递归算法知识笔记
1.递归算法定义 递归算法是将重复问题分解为同类的子问题而解决问题的方法,其核心思想是分治策略. 简单来说就是自己调用自己.直到达到退出递归的条件,则完成递归. 2.递归的步骤 1.找整个递归的终止条 ...
- java 算法基础之一寻找最大公约数
最近发现在搞Android的都要懂一点数据结构和算法才能进阶到高手,所以就回去复习了一下基础,为一些公司招聘做题做准备. 今天研究了一下最大公约数的求法,在网上也找了不同的解法,现在就想总结一下,拿出 ...
- java算法概述,Java数据结构与算法基础(一)概述与线性结构
Java数据结构与算法基础(二)递归算法 Java数据结构与算法基础(一)概述与线性结构 学习目的:为了能更顺畅的读很多底层API代码和拓宽解决问题的思路 一.数据结构概述 1.数据结构是什么?数据与 ...
- C/C++ 算法基础
如果要真正掌握算法,必须要写代码的,那这时候就必须选择一门语言来进行,而具体的语言其实无所谓 ,C.C++.Java.Python,go甚至JavaScript.VB都可以,关键是自己要用的熟悉,面试 ...
- 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]
题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串.返回 s 所有可能的分割方案. # 示例 输入: "aab" 输出: [["aa",&q ...
- 算法基础、算法比赛快速入门(java)
想用Java快速入门算法?这篇文章你得看! 提示:本文章适合想要入门算法,并且想 "快速" 达到一定成果的同学们阅读~ 文章非常非常非常长(可能是你见过最长的算法基础篇章)!!! ...
- 数据结构与算法基础(java版)
目录 数据结构与算法基础(java版) 1.1数据结构概述 1.2算法概述 2.1数组的基本使用 2.2 数组元素的添加 2.3数组元素的删除 2.4面向对象的数组 2.5查找算法之线性查找 2.6查 ...
- 【Java面试高频问题】Java数据结构和算法基础知识汇总
文章目录 Java数据结构和算法基础知识 一.Java数据结构 1. 线性结构:数组.队列.链表和栈 1.1 数组(Array) 1.2 稀疏数组 1.3 队列(Queue) 1.4 链表(Linke ...
- 算法每日学打卡:java语言基础题目打卡(01-10)
文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. "算法每日学"计划01打卡: 问题描述 对于长度为5位的一个01串,每一 ...
最新文章
- miniui文件上传 linux,MINIUI grid学习笔记
- 为什么使用JavaScript eval函数是个坏主意?
- 计算机编程方程求解的步骤,计算机解决问题的过程PPT学习课件
- MySQL基础2——表的约束
- 基于集成学习的小麦赤霉病高光谱图像识别方法研究
- asp.net程序中最常用的三十三种编程代码(转自CSDN)
- html json编辑器,JSON.html HTML Editor
- 2021年山东省安全员C证最新解析及山东省安全员C证证考试
- 继承关系下怎样使用Builder 模式
- python设置计算题_python tkinter做的生成计算题的GUI
- 固定链接设置朴素正常html无法显示,wordpress固定链接设置修改常见问题
- php网站视频播放外链,用视频网站来做外链只需三步
- 深圳平安银行软件测试面试,中国平安银行面试笔试题目 软件测试方向
- 使用python统计excel两文件数据,excel公式为countif
- 开始我的Python学习历程
- MPFC++ wrapper by Pavel
- 微信小程序--数据列表
- 愤怒大叔-喝酒聚会游戏
- 输入一个字符串转换成十进制整数
- 无炫技:纯粹的Bert和Roberta
热门文章
- awk命令详解(三)
- java runtime异常_JAVA RuntimeException 问题
- SonarQube代码质量管理平台安装与使用
- 平生事,此时凝睇,谁会凭栏意!(3)
- 囚徒困境——从博弈论的角度解释“美女配丑男”
- GMT时间格式转换(Mon Feb 13 08:00:00 GMT+08:00 2012)
- 计算机高手是怎么炼成的
- android 主流应用,Android 7.0主流应用兼容性问题盘点分析
- 2 Docker镜像的制作和使用说明
- Linux下diff命令用法详解