当前位置: 首页 > 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;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 快速部署私有化大模型 毕昇(使用docker-compose方式)
  • Opencv threshold函数、adaptiveThreshold函数详解和示例
  • 【力扣】SQL题库练习5
  • actual combat 38 ——vue
  • 【C#】.net core 6.0 webapi 使用core版本的NPOI的Excel读取数据以及保存数据
  • 零基础学python 之 第十九讲 正则表达式
  • Express基于Node.js基础知识【2】全面总结 推荐
  • C++必修:STL之vector的了解与使用
  • JavaScript 变量声明var、let、const
  • 实验2-5-7 求阶乘序列前N项和【多看看函数】
  • 文件夹判断操作类 - C#小函数类推荐
  • 哈夫曼树及哈夫曼编码
  • 前端小白安装node、vue、Express、Electron及(Electron桌面端exe应用开发)
  • 干货满满,从零到一:编程小白如何在大学成为编程大神?
  • 滴滴官宣潘展乐为滴滴网约车“快”乐大使
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • codis proxy处理流程
  • Git初体验
  • HashMap ConcurrentHashMap
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java 多线程编程之:notify 和 wait 用法
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • mysql 5.6 原生Online DDL解析
  • PAT A1050
  • Vue--数据传输
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前端性能优化——回流与重绘
  • 使用Swoole加速Laravel(正式环境中)
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • # Redis 入门到精通(九)-- 主从复制(1)
  • #{} 和 ${}区别
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (pojstep1.1.2)2654(直叙式模拟)
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (回溯) LeetCode 40. 组合总和II
  • (理论篇)httpmoudle和httphandler一览
  • (六)激光线扫描-三维重建
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .apk文件,IIS不支持下载解决
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET构架之我见
  • .NET未来路在何方?
  • .NET周刊【7月第4期 2024-07-28】
  • .php文件都打不开,打不开php文件怎么办