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

java算法递归算法练习-数组之和

简单找个题目练习一下递归算法,输入一组数组,使用递归的方法计算数组之和。其实这个题目,用循环的方式也很简单就能解决,直接循环遍历一下相加就行了,但是我们用来练习一下递归。

先来找基线条件和递归条件

基线条件:当数组下标为0的时候,说明只剩一个值了,直接返回值就行

递归条件:长度大于0的话,就需要相加并递归调用,直到满足基线条件

package com.dlh.test.算法;import java.util.Scanner;public class 递归算法之计算数组之和 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] string = sc.nextLine().split(" ");int[] array = new int[string.length];for (int i = 0; i < string.length; i++) {array[i] = Integer.parseInt(string[i]);}int result = calcnum(array,array.length-1);//此处填入数组最右侧的下标,从右侧开始往左侧以及相加System.out.println(result);}private static int calcnum(int[] array, int i) {int result = array[i];if (i < 1){//当数组下标小于1的时候,直接返回值return array[i];}else {i--;//数组下标往左移动一位result = result + calcnum(array,i);//进行递归调用}return result;}
}

http://www.lryc.cn/news/411304.html

相关文章:

  • 在kdevelop中运行程序并调试
  • MySQL数据库-SQL编程
  • TypeError: Components is not a function
  • GuLi商城-商品服务-API-平台属性-销售属性维护
  • 使用Leaflet GeoMan结合天地图进行自由标绘实战
  • Flutter自定义通用防抖的实现
  • C# Unity 面向对象补全计划 之 继承(字段与属性)
  • leetcode202. 快乐数,双指针法巧用
  • 基于Cobbler实现多版本系统批量部署
  • 一投就中不是梦,录取率>80%,最快1个月就见刊,计算机沾边就收,认可度还不低
  • 【课程系列06】某乎AI大模型全栈工程师-第6期
  • Prompt——3分钟掌握,润色论文的7条经典指令。帮助很大,一定要看!
  • ARM学习(31)编译器对overlay方式的支持
  • 【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
  • 软件测试——用例篇(上)
  • Flink中三种模式:YARN Session 模式、YARN Per-Job 模式和 YARN Application 模式提交任务命令
  • DBMS-1.2 关系运算
  • Python——继承
  • 程序员转型AI大模型好转吗?成功率高吗?
  • 关于 Postman 这些你都知道吗?
  • ReentrantLock
  • python | TypeError: list indices must be integers or slices, not tuple
  • 链码简介及MATLAB提取彩色图像链码
  • 二叉树,二叉查找树,平衡二叉树
  • 《零散知识点 · SpringBoot 整合邮件功能》
  • 编程小白如何成为大神?大学新生的最佳入门攻略
  • 使用 PyInstaller 和 Hook 文件打包 APK 解析工具
  • 【分布式】分库分表知识点大全
  • FreeRTOS中的定时器:xTimerCreate ,xTimerStart ,xTimerStop
  • 【网络安全】文件上传黑白名单及数组绕过技巧