递归应用:对数组的所有元素求和_Gragon-Li的博客-程序员秘密

技术标签: 算法  深度优先  java  数据结构  

找变化:第i个元素加上第i+1个元素的值

找重复:res = arr[i]+(arr[i+1])

找边界:当i加到数组最后一个元素时结束

import java.util.*;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int[] arr = new int[n];
        for(int i =0;i<n;i++){
            arr[i] = input.nextInt();
        }
        int temp = dfs(arr,0);
        System.out.println(temp);
    }
    static int dfs(int[]arr,int i){
        if(i == arr.length-1){
            return arr[i];
        }
        return arr[i] + dfs(arr,i+1);
    }
}

5
1 2 3 4 5
15
 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_61185410/article/details/123460504

智能推荐

html字体样式格式化,CSS格式化排版(示例代码)_二价铜的博客-程序员秘密

前面讲解了CSS的各种规定,具体能应用到哪些方面呢?(一)文字排版1.字体我们可以使用css样式为网页中的文字设置字体、字号、颜色等样式属性。下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体。body{font-family:"宋体";} 选择器{font-family:“字体名称”}这里注意不要设置不常用的字体,因为如果用户本地电脑上如果没有安装你设置的字体,就会显示浏览...

sklearn中predict()与predict_proba()用法区别_小刘鸭!的博客-程序员秘密

sklearn中predict()与predict_proba()用法区别 predict是训练后返回预测结果,是标签值。predict_proba返回的是一个n 行 k 列的数组,第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率,并且每一行的概率和为1。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ..

react-dnd 最简单易懂的列表排序_react-dnd 列表排序_谢阳光Zzz的博客-程序员秘密

import React, { Component } from 'react'import { DndProvider, DragSource, DropTarget } from 'react-dnd'import HTML5Backend from 'react-dnd-html5-backend'// 被拖拽的项const source = { // 卡片开始被拖拽时触发 ...

51单片机初级之KeilC51新建工程[1]_robinjr的博客-程序员秘密

1.新建一个DEMO文件夹2.KeilC51中点击新建文件3.命名工程,并保存到DEMO文件夹中4.选择芯片设备(我们选择AT89C52芯片) 5.添加启动文件(STARTUP.A51) 6.整个工程建好了,但是这个时候工程没有东西,需要添加文件 7.新建main.c文件7.1点击左上方新建文件图标(或者使用快捷键CTRL+N) 7.2出现一个不知名的Text1文件 7.3保存该Text1

树莓派 —— 配置Windows通过VNC连接树莓派_信必诺的博客-程序员秘密

VNC简介     VNC (Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT&amp;T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。     在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下

随便推点

java8新特性-Stream流式处理_abcnull的博客-程序员秘密

文章目录前言stream 与 parallelStream集合类使用流Stream 接口常用方法前言java 8 允许你用一种流式操作处理集合的元素,可以把集合的数据看成水流,水流要得到处理最终从管道末端出来,管道中每处设立了一个结点代表对流进行处理,比如 filter() 之类的方法,然后从每个结点出来的仍然是 Stream 流stream 与 parallelStream串行流 stream并行流 parallelStream此文只做串行流 stream 的简介,并行流以后会在另一

ArrayList和LinkedList的底层实现原理_**arraylist和linkedlist的底层原理**_爱学习的老吴的博客-程序员秘密

1.ArrayListArrayList 通过数组实现,一旦我们实例化 ArrayList 无参数构造函数默认为数组初始化长度为 10②,add 方法底层实现如果增加的元素个数超过了 10 个,那么 ArrayList 底层会新生成一个数组,长度为原数组的 1.5 倍+1,然后将原数组的内容复制到新数组当中,并且后续增加的内容都会放到新数组当中。当新数组无法容纳增加的元素时,重复该过程。是一旦...

安卓内录声音软件scr_那款安卓手机软件可以内录视频?_自然语言处理老白的博客-程序员秘密

ScreenCam v2.0.3 开源还免费,你说香不香。但是英文的。安装条件:安卓,且已root正在使用中,可以实现内录。内录的时候,是听不到扬声器声音的。找了n多app,目前只有ScreenCam可以内录。时长方面,目前一般录1小时左右,没有问题。再长的没试过。看教程说,需要装一个magisk模块。按照提示下载后刷入,但没成功,如图。我系统环境是 类原生lineageos16 +Magisk2...

was配置虚拟主机_was服务器 如何使用命令设置虚拟主机_songfelicity的博客-程序员秘密

配置用户自己的新的虚拟主机,同时部署一个新的应用使用自己建立的虚拟主机和端口。部署在WAS的应用默认使用9080端口访问,我们此次实验目的是让应用使用9081端口进行应用访问。一、建立一个新的虚拟主机 1、在WAS控制台中依次单击“环境”-》“虚拟主机”​​2、在虚拟主机页面中你会看到WAS环境中已经存在了两个虚拟主机,其中虚拟主机“admin-host”是管理控制台应用使用的,“...

[IDEA 2021] IDEA2021 安装、配置、常用快捷键,Double Shift ,禁用Shift Shift_yjr-1100的博客-程序员秘密

IDEA2021 的安装,常用配置包括(自动导包,字体,模板注释,编码设置,文件头信息),常用快捷键(Double shift,禁用/修改两个shift,Alt+Enter 万能快捷键,自动生成setter和getter方法)

写在前面的一些话:《Learning OpenCV》中文版_hunnish的博客-程序员秘密

 <!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0

推荐文章

热门文章

相关标签