最大工作量问题

原创 2015年07月08日 00:44:18

最近遇到一个问题是求最大工作量的问题:

       问题描述如下:问题描述,小明的导师要给小明每天都分配任务,但是小明有心脏病,最多能连续工作两天就
  得休息一天,现在问小明的最大的工作量是多少?


      我现在能想到的一种解决办法就是,穷举搜索出所有结果,然后取最大的结果:

      我的思路是这样的,如果已经工作了零天,那么工作量不增加,下一天是可以工作的也可以不工作,如果不工作的话已经工作的天数清零,如果已经工作了一天,那么下一天可以休息,也可以继续工作,同样如果选择不工作的话,那么已经工作的天数清零,如果已经工作了两天,那么下一天就不能再工作了,工作天数清零,现在还没有转化为动态规划的算法,我会继续努力,大家有兴趣也可以研究,当前我的代码,虽然效率低,但是可以当做最后的一个验证。下面是我的代码:

  import java.util.ArrayList;
import java.util.List;


public class Main {


/**
* 问题描述,小明的导师要给小明每天都分配任务,但是小明有心脏病,最多能连续工作两天就
* 得休息一天,现在问小明的最大的工作量是多少

*/
private static int max=0;

public static void getMax(int[] workList,int now,int sum,int day){
//now为开始工作的天的位置,也就是从这一天就开始工作
//day为已经工作的天数
//sum为已经得到的工作量
//进行工作量的累加
//System.out.println(day);
if(now<workList.length){
if(day==0){
getMax(workList, now+1, sum, 0);
getMax(workList, now+1, sum+workList[now],day+1);
}else if(day==1){
getMax(workList,now+1,sum,0);
getMax(workList, now+1, sum+workList[now], day+1);
}else if(day==2){
getMax(workList, now+1, sum, 0);
}
}else{
if(sum>max){
max=sum;
}
}
}

public static void main(String[] args) {
int[] workList=new int[]{80,20,30,20,10,80,90,110,80,50,80,20,30,20,10,80,20,30,20,10,80,90,110,80,50,80,20,30,20,10};
getMax(workList,0,0,0);

        System.out.println(max);
}


}

               

版权声明:本文为博主原创文章,未经博主允许不得转载。

POW工作量证明机制

工作证明(Proof Of Work,简称POW),顾名思义,即工作量的证明。通常来说只能从结果证明,因为监测工作过程通常是繁琐与低效的。 比特币在Block的生成过程中使用了POW机制,一...
  • h363659487
  • h363659487
  • 2017年06月12日 10:11
  • 1028

科学评估iOS开发工作量

在我团队里我们尽量把每次的开发工作控制在2周左右;我主要从源头上去控制这个开发量,比方反复和产品说,不要太多不要太炫;到现在也能和产品达成了一种默契。如果实在太多,我会将其拆分为2~3次进行。具体开发...
  • smallhorse87
  • smallhorse87
  • 2017年05月12日 22:55
  • 554

软件工作量评估方法

转载:点击打开链接 :【http://blog.sina.com.cn/s/blog_663db2720100uu24.html】 软件开发报价的计算方法[转载] 1.软件开发...
  • MyheartMylove
  • MyheartMylove
  • 2015年12月24日 16:58
  • 905

软件工作量评估方法

1.软件开发价格估算方法     软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量 × 开发费用/人·月 1.1开发工作量...
  • huojingji
  • huojingji
  • 2013年07月08日 19:33
  • 1302

关于工作量估算,你知道的和你不知道的一切

本文首次发布于 IEEE Software 杂志,由 InfoQ 和 IEEE Computer Society 为您呈现。   越来越多证据表明这样一个趋势:软件项目的成本和工作量超出限度,泛...
  • asqi1
  • asqi1
  • 2014年09月17日 11:08
  • 885

软件测试工作量统计新方法

软件测试作为软件生命周期中不可或缺的重要环节,正在受到越来越多的重视。然而,在实际项目测试工作中却存在一个突出的问题,就是测试工作量的统计问题。如何统计更科学、更准确,本文作者在实际工作中进行了摸索和...
  • fen0707
  • fen0707
  • 2013年05月23日 16:05
  • 2539

SQL-统计JIRA敏捷看板中的工作量

-- **************************************************** -- -- 该脚本用来查询一个迭代中子任务的估算时间、已工作时间和剩余时间 -- -- ...
  • yangyong688
  • yangyong688
  • 2017年02月20日 16:35
  • 2074

最大工作量问题新的解法(不会证明)

最大工作量问题
  • sxiaobei
  • sxiaobei
  • 2015年07月08日 15:51
  • 869

软件工作量评估方法(一)

1.软件开发价格估算方法     软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格 = 开发工作量 × 开发费用/人·月 1.1开发工作量...
  • rosten
  • rosten
  • 2014年01月02日 16:17
  • 12604

关于软件项目工作量估算的若干问题

作者:张克强软件项目工作量估算从估算依据上看可以分成如下两类:1,基于规模估算2,基于工作量估算基于规模估算的情况下,需要估算软件项目的规模。本文首先来看规模方面的问题。问题1:如何表达规模?软件产品...
  • zhangmike
  • zhangmike
  • 2015年01月01日 10:40
  • 7539
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最大工作量问题
举报原因:
原因补充:

(最多只允许输入30个字)