博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求不相邻金币相加和的最大值--动态规划1
阅读量:5351 次
发布时间:2019-06-15

本文共 795 字,大约阅读时间需要 2 分钟。

    求不相邻金币相加和的最大值。

  输入n个金币的金币面值(正数自定义),求这些金币不相邻和的最大值。

动态规划问题1

 设f(n)为第n个金币数的最大值,f(0)=0,f(1)=a[1],输入的数组从下标为1开始。

f(n)=max{a[n]+f(n-2),f(n-1)}。

代码如下:

import java.util.Scanner;public class Jin_bi_zui_da_zhi {public static void main(String[] args) {  Scanner sc=new Scanner(System.in);  System.out.print("输入金币个数n:");  int n=sc.nextInt();  int a[]=new int[n+1];  System.out.print("输入n个数:");  for(int i=1;i<=n;++i)      a[i]=sc.nextInt();  sc.close();  int max=hui(a,n);  System.out.println("不相邻相加最大值是:"+max);};public static int hui(int[] a,int index){    int n=a.length;    int[] f=new int[n];    f[0]=0;    f[1]=a[1];    for(int i=2;i<=index;++i)    {        int m=a[i]+f[i-2];        int max=m>f[i-1]?m:f[i-1];        f[i]=max;    }    return f[index];};}

 

转载于:https://www.cnblogs.com/duange/p/6021132.html

你可能感兴趣的文章
洛谷 P1991 无线通讯网
查看>>
[HIHO1184]连通性二·边的双连通分量(双连通分量)
查看>>
Codeforces Round #178 (Div. 2) B. Shaass and Bookshelf 【动态规划】0-1背包
查看>>
SparkStreaming 源码分析
查看>>
【算法】—— 随机音乐的播放算法
查看>>
mysql asyn 示例
查看>>
DataGrid 点击 获取 行 ID
查看>>
git 使用
查看>>
边框圆角方法
查看>>
asp.net WebApi自定义权限验证消息返回
查看>>
php中eval函数的危害与正确禁用方法
查看>>
20172315 2017-2018-2 《程序设计与数据结构》第十一周学习总结
查看>>
MySQL添加、修改、撤销用户数据库操作权限的一些记录
查看>>
关于谷歌浏览器Chrome正在处理请求的问题解决
查看>>
Git核心技术:在Ubuntu下部署Gitolite服务端
查看>>
平面波展开法总结
查看>>
建造者模式
查看>>
ArraySort--冒泡排序、选择排序、插入排序工具类demo
查看>>
composer 安装laravel
查看>>
8-EasyNetQ之Send & Receive
查看>>