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;}
}
相关文章:

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

在kdevelop中运行程序并调试
补充前序知识: 1.CMakeLists.txt文件中,如下图,第一行生成的是静态库文件(我们前一讲所使用的),第二行是动态库文件。 静态库与动态库: 静态库(Static Libraries) 定义…...

MySQL数据库-SQL编程
一、触发器 1.触发器简介 触发器(trigger)是一个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, u…...

TypeError: Components is not a function
Vue中按需引入Element-plus时,报错TypeError: Components is not a function。 1、参考Element-plus官方文档 安装unplugin-vue-components 和 unplugin-auto-import这两款插件 2、然后需要在vue.config.js中配置webPack打包plugin配置 3、重新启动项目会报错 T…...

GuLi商城-商品服务-API-平台属性-销售属性维护
公用之前的接口,改下入参:...

使用Leaflet GeoMan结合天地图进行自由标绘实战
目录 前言 一、Leaflet GeoMan是什么 1、关于Leaflet GeoMan 2、关于开源版和企业版 3、相关的方法介绍 二、使用Geoman来进行自由标绘实战 1、相关资源准备 2、新建html网页 3、初始化地图及绑定Geoman控件 三、自由标绘的成果 1、整体效果 2、添加空间对象 3、开…...
Flutter自定义通用防抖的实现
在前端项目开发中,点击事件的防抖是一个永远无法错开的点,特别是针对一些复杂的业务场景,如果不做好防抖操作,就会导致页面或功能触发多次,引发异常或闪退。 在Flutter中可以通过扩展函数的特性 对Function增加全局扩…...

C# Unity 面向对象补全计划 之 继承(字段与属性)
本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 本系列旨在通过补全学习之后,给出任意类图都能实现并做到逻辑上严丝合缝 Q:为什么要单讲继承字段与属性,不讲继承方法了吗&#x…...
leetcode202. 快乐数,双指针法巧用
leetcode202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程…...
基于Cobbler实现多版本系统批量部署
一、实验题目 基于Cobbler实现多版本操作系统的批量部署。 二、实验目的 掌握Cobbler服务器的安装与配置方法。 学会使用Cobbler进行多版本操作系统的批量部署。 理解PXE网络启动原理及其在操作系统部署中的应用。 提高在实际生产环境中快速部署和管理操作系统的能力。 …...

一投就中不是梦,录取率>80%,最快1个月就见刊,计算机沾边就收,认可度还不低
本次模术狮精心整理5本期刊,最快1个月就见刊,计算机沾边就收,认可度还不低! 1 Knowledge-Based Systems ▲ 图片来源:Knowledge-Based Systems官网 期刊简介:《Knowledge-Based Systems》是人工智能领域的…...

【课程系列06】某乎AI大模型全栈工程师-第6期
网盘链接 链接:https://pan.baidu.com/s/1QLkRW_DmIm1q9XvNiOGwtQ --来自百度网盘超级会员v6的分享 课程目标 【知乎大模型课程】学习的四个维度 👉指挥层:学高阶指令工程 AI编程等,指挥大模型完成90%代码任务,包…...

Prompt——3分钟掌握,润色论文的7条经典指令。帮助很大,一定要看!
这是一篇帮助你润色论文的ChatGPT指令合集,整理了润色过程中语法优化、审阅校对、专业风格等7个主要方面。 建议收藏,需要的时候直接CtrlV即可,一定对你科研有所帮助~ 1. 修复语法和句法 第一个提示是修复语法和句法。这是任何写作的关键部…...

ARM学习(31)编译器对overlay方式的支持
ARM学习(31)编译器对overlay方式的支持 1、overlay介绍 overlay:重叠得意思,就是可以重复利用得空间,一般在内存上使用这种空间。比如以Windows操作系统为例,其存储空间(ROM/FLASH)…...

【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
问题现象 BeetISQL中间件版本:2.13.8.RELEASE 客户在调用BeetISQL提供的api向yashandb的表中执行batch insert并将返回sequence设置到传入的java bean时,报如下异常: 问题的风险及影响 影响业务流程正常执行,无法获得batch ins…...

软件测试——用例篇(上)
概念 什么是测试⽤例? 测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素 设计测试⽤例原则⼀: 测试⽤例中⼀个必需部分是对…...
Flink中三种模式:YARN Session 模式、YARN Per-Job 模式和 YARN Application 模式提交任务命令
在 Apache Flink 中,YARN 提供了多种模式来提交和管理作业,每种模式都有其独特的特点和适用场景。主要有以下三种模式:YARN Session 模式、YARN Per-Job 模式和 YARN Application 模式。 1. YARN Session 模式 在 YARN Session 模式中,一个长时间运行的 Flink 会话(Sess…...

DBMS-1.2 关系运算
本文章的素材与知识均来自于李国良老师的数据库管理系统课程。 关系代数 一.基本关系代数运算 基本关系代数运算包括:选择、投影、并、差、笛卡尔积、重命名。 1.选择(select) 选择运算用于从关系R中获取满足条件的元组。 (1…...
Python——继承
一、继承 1. 什么是继承? 继承是一种面向对象编程的机制,允许一个类(子类)从另一个类(父类)继承属性和方法。子类可以扩展或修改父类的功能。 2. 如何实现继承? 在Python中,实现…...

程序员转型AI大模型好转吗?成功率高吗?
前言 在程序员圈子中,技术转型近年来一直是热门话题。随着AI技术的迅猛发展,优秀人才短缺,程序员向AI大模型转型似乎成为了一条通往职场先机的路径。但是,这条转型之路是否容易走,成功率又如何呢? 一、程…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

2.3 物理层设备
在这个视频中,我们要学习工作在物理层的两种网络设备,分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间,需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质,假设A节点要给…...