- 浏览: 428613 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
问题:一个农夫养了一头牛,三年后,这头牛每年会生出一头牛,生出来的牛三年后又可以每年生出一头牛....问农夫10年后有多少头牛,n年呢?
算法一:
算法二:
算法三:
算法四:
转载连接:http://hechuanzhen.iteye.com/blog/1845173
这个程序就是您的,有些难懂得地方,我用自己的想法加了注释
算法一:
package com.test; public class AlgorithmOne { /** * 动态规划算法 * @param args * 数组num中存储的是新生的牛的数目,这里的新生表示除了最开始的一头牛外的所有其他牛 * 例如:num[3]表示到第3年来新生的牛的数目 * num[i] = num[i-1]+num[i-3]+1; * 上面的式子表示:第i年的新牛数目为第i-1年的新牛数目加上第i-3年的新牛数目(因为第i-3年的牛仔第i年就会生小牛了), * 再加上最开始的那头牛在第i年也会生出一头牛 */ public static void main(String[] args) { final int size = 100; long [] num = new long[size+1]; num[0]=num[1]=num[2]=0; for(int i =3;i<=size;i++){ num[i] = num[i-1]+num[i-3]+1; System.out.println("第"+i+"年,牛的数量:"+(num[i]+1)); } } }
算法二:
package com.bean; public class Cow { private int age = 0; public void addAge(){ age++; } public boolean isCreatCrow(){ return (age>=3)? true:false; } }
package com.test; import java.util.ArrayList; import java.util.List; import com.bean.Cow; public class AlgorithmTwo { public static void main(String[] args) { List<Cow> cowList = new ArrayList<Cow>(); cowList.add(new Cow()); int yearCount = 10; for(int i =1;i<=yearCount;i++){ int cowNum = cowList.size(); for(int j=0;j<cowNum;j++){ Cow cow = cowList.get(j); cow.addAge(); if(cow.isCreatCrow()){ cowList.add(new Cow()); } } } System.out.println(yearCount+"年后将有"+cowList.size()+"头牛"); } }
算法三:
package com.test; public class AlgorthmThree { static int count = 1; private static void feedCow(int year,int age){ year++; age++; if(year<=10){ if(age>=3){ count ++; feedCow(year, 0); } feedCow(year, age); } } public static void main(String[] args) { new AlgorthmThree().feedCow(0, 0); System.out.println(count); } }
算法四:
package com.bean; public class CowBean { public static int count = 0; /** * 算法核心:该算法计算每头牛包括其后代在这10年内能生了多少小牛 * @param year * 每new一次CowBean就会执行count++ */ public CowBean(int year){ count ++; for(int i =3+year;i<=10;i++){ new CowBean(i); } } public static void main(String[] args) { new CowBean(0); System.out.println(count); } }
转载连接:http://hechuanzhen.iteye.com/blog/1845173
评论
2 楼
yangjianzhouctgu
2013-04-12
中国凉茶 写道
恩,重构的很好,比我的方便简单。
这个程序就是您的,有些难懂得地方,我用自己的想法加了注释
1 楼
中国凉茶
2013-04-12
恩,重构的很好,比我的方便简单。
发表评论
-
spring boot应用测试框架介绍
2018-07-19 14:44 751个人原创博客:spring boot应用测试框架介绍 -
可执行jar包的配置与运行
2017-06-04 19:42 1007spring boot项目可以以jar包的形式执行运行。s ... -
多线程并发
2016-05-21 23:49 0Splitter.on('|').trimResults(). ... -
jdk动态代理实现原理
2016-05-09 23:12 773jdk的动态代理即使用反射来实现,具体由Proxy、Invoc ... -
spring常见注解
2016-05-01 23:33 12321.Autowired 通过spring的依赖注入功能来 ... -
spring常见配置作用
2016-04-29 23:08 933一般应用中常见spring的 ... -
数据来自两个系统时的内存分页算法
2016-04-24 23:12 842业务数据来自a-app与b-app,其中a-app中数据的业务 ... -
linux下java web开发环境搭建
2016-04-10 14:09 1134一般的java web开发涉及到的开发工具有:jdk、tomc ... -
linux下md5sum和DigestUtils.md5Hex的关系
2015-12-19 22:30 8520本文对linux下md5sum命令和java中DigestUt ... -
基于jersey的web service
2015-11-22 22:55 1007本文是基于jersey的web service 的两个小例子, ... -
面试总结----spring
2015-05-19 22:17 911spring在面试中经常被 ... -
面试总结----多线程
2015-05-18 22:10 897面试过程中,多线程被问到的概率非常大,差不多都会问的。 下面 ... -
面试总结----java虚拟机
2015-05-17 23:20 741在面试过程中,java虚拟机被问到的概率非常大,应该是每场面试 ... -
面试总结----java集合
2015-05-17 11:57 676春节刚过,打算换一份工作,于是就开始了一段准备面试的生活,准备 ... -
json串与对象之间转换的几种实现方式
2015-01-24 18:56 1878这里使用了gson,fastjson,jackson,json ... -
google关于事件的生产者消费者模式实现例子
2015-01-24 11:28 976google使用生产者/消费者模式实现了事件的产生传播处理过程 ... -
图形化显示---冒泡排序
2014-12-05 22:17 917代码: package com.thread.singal ... -
多线程----wait/notify
2014-11-06 22:06 686线程同步:两个线程依次对同一变量进行操作。 packag ... -
多线程-----阻塞队列
2014-11-05 22:43 850使用一个线程将一个指定目录下面的所有文件放在一个阻塞队列中,用 ... -
迷宫的最短路径
2014-08-19 00:31 3763代码如下: package com.chapterO ...
相关推荐
在Java实现中,`BaseBoxChoose.java`可能包含了装箱算法的基本策略或基类,定义了装箱选择的接口和通用方法。`Slaves.java`可能是处理并行计算的部分,利用多线程并行处理多个箱子的装车问题,提高算法执行效率。`...
google-java-format是一个重新格式化 Java 源代码以符合 Google Java Style的程序。 使用格式化程序 从命令行 下载格式化程序 并运行它: java -jar /path/to/google-java-format-${GJF_VERSION?}-all-deps.jar ...
JavaCV(Java Computer Vision)是一个基于Java的计算机视觉库,它为Java开发者提供了一套方便的接口和工具,使得他们能够更容易地访问和利用OpenCV、FFmpeg等库。JavaCV平台1.5.3版本的发布,为开发者带来了最新的...
java-string-similarity, 各种字符串相似性和距离算法 java-string-similarity 实现不同字符串相似度和距离度量的库。 目前已经实现了许多算法( 包括Levenshtein编辑距离和 sibblings,jaro winkler,最长公共子序列...
Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法,大家可以将源码下载下来进行学习,附带着注释和解释,有不理解的可以找博主一起探讨,共同...
这个压缩包文件包含了皮尔逊算法的Java和Python实现版本,意味着我们可以用这两种流行的编程语言来计算两个变量之间的相关性。 皮尔逊相关系数的计算基于协方差和标准差,公式如下: \[ r = \frac{\sum{(x_i - \bar...
kr iging插值算法java实现-Java代码类资源
首先,OpenCV是JavaCV的核心部分,它是一个广泛使用的计算机视觉库,包含了众多图像处理和计算机视觉算法。在JavaCV 1.3中,你可以找到用于图像处理、特征检测、对象识别、人脸识别等功能的API。例如,高斯模糊、...
算法 - Java Build Discord chat Gitpod ready-to-code Open in Gitpod 您可以运行和编辑算法,或者只需单击一下即可使用 Gitpod.io(免费的在线开发环境)为算法做出贡献。 算法: 我们的目录包含完整的应用程序...
Lzma压缩文件算法-java单文件版,编译直接通过,压缩率极高
学习“数据结构与算法--Java语言描述”,不仅能够理解各种数据结构的内部工作原理,还能学会如何用Java来实现它们,这对于软件开发、系统分析和算法竞赛等领域都有极大的帮助。通过深入学习和实践,我们不仅可以提升...
在"JAVA---算法与数据结构"这个主题中,我们将深入探讨Java中常用的数据结构,如数组、链表、栈、队列、集合、映射、树(二叉树、红黑树)和图等。每种数据结构都有其独特的优势和适用场景,例如,数组适合随机访问...
这是从mathwork上下载的NSGA-3的代码,自己写的...就是希望能和大家一起讨论交流一下,希望大家指正。希望弄懂代码的小伙伴能回帖说一下自己的理解。也希望能解答一下我不懂的地方。 这里把原代码的链接也发一下。...
Java实现的k-means聚类算法详解 k-means聚类算法是一种常用的无监督学习算法,用于对数据...Java实现的k-means聚类算法是一种常用的数据分析工具,能够帮助数据分析师和数据科学家发现隐藏在数据背后的规律和模式。
包含牛牛算法 结算配置自定义等,里面有测试类,包含牛牛算法 结算配置自定义等,里面有测试类包含牛牛算法 结算配置自定义等,里面有测试类包含牛牛算法 结算配置自定义等,里面有测试类包含牛牛算法 结算配置自定义...
北京工业大学--算法作业4--回溯算法--任务分配--Java 有n份作业分配给n个人去完成,每人完成一份作业。假定第i个人完成第j份作业需要花费cij时间, cij>0,1≦i,j≦n。试设计一个回溯算法,将n份作业分配给n个人完成...
在本资源中,“高级算法-nju-onlineJudge-master-java和python的答案”主要涵盖了计算机科学领域中的高级算法,并且提供了针对NJU(南京大学)在线评测系统onlineJudge的解答,包括Java和Python两种编程语言的实现。...
CRC16,CRC-CCITT JAVA算法
《Java数据结构和算法》第二版是一本深入探讨Java编程中数据结构与算法的权威书籍。这本书涵盖了在软件开发中至关重要的基础知识,旨在帮助程序员提升解决问题的能力和代码效率。高清扫描版提供了清晰的文本和图表,...
神经网络算法与实现-基于Java语言神经网络算法与实现-基于Java语言神经网络算法与实现-基于Java语言神经网络算法与实现-基于Java语言神经网络算法与实现-基于Java语言神经网络算法与实现-基于Java语言神经网络算法与...