- 浏览: 28228 次
- 性别:
- 来自: 杭州
文章分类
最新评论
class Triangle {
private int[][] num;
private int lineNums;
private int[][] lineTotal;
public Triangle(int num) {
this.lineNums = num;
init();
}
private void init() {
System.out.println("请输入金字塔数字:");
Scanner s = new Scanner(System.in);
lineTotal = new int[lineNums][lineNums];
num = new int[lineNums][lineNums];
for (int i = 0; i < lineNums; i++) {
for (int j = 0; j <= i; j++) {
num[i][j] = s.nextInt();
}
}
}
/**
* 从TOP TO BUTTOM进行遍历
*/
public void track() {
lineTotal[0][0] = num[0][0];
int left = 0;
int right = 0;
int leftTotal = 0;
int rightTotal = 0;
int maxIndex = 0;
for (int i = 1; i < 4; i++) {
maxIndex = i - 1;
for (int j = 0; j <= i; j++) {
left = j - 1;
right = left + 1;
if (left <= maxIndex && left > -1) {
leftTotal = lineTotal[i-1][left] + num[i][j];
} else { //如果左结点不在则认为不可达
leftTotal = Integer.MAX_VALUE;
}
if (right <= maxIndex) {
rightTotal = lineTotal[i-1][right] + num[i][j];
} else { //同左结点
rightTotal = Integer.MAX_VALUE;
}
lineTotal[i][j] = leftTotal < rightTotal ? leftTotal : rightTotal;
System.out.println("i=" + i + ", j=" + j + " is " + lineTotal[i][j]);
}
}
}
public void getMinSum() {
int min = Integer.MAX_VALUE;
for (int i = 0; i < 4; i++) {
if (min > lineTotal[3][i]) {
min = lineTotal[3][i];
}
}
System.out.println("top to button 最短路径:" + min);
}
}
控制台输入输出显示:
请输入金字塔数字:
2
3 4
6 5 7
4 1 8 3
i=1, j=0 is 5
i=1, j=1 is 6
i=2, j=0 is 11
i=2, j=1 is 10
i=2, j=2 is 13
i=3, j=0 is 15
i=3, j=1 is 11
i=3, j=2 is 18
i=3, j=3 is 16
top to button 最短路径:11
private int[][] num;
private int lineNums;
private int[][] lineTotal;
public Triangle(int num) {
this.lineNums = num;
init();
}
private void init() {
System.out.println("请输入金字塔数字:");
Scanner s = new Scanner(System.in);
lineTotal = new int[lineNums][lineNums];
num = new int[lineNums][lineNums];
for (int i = 0; i < lineNums; i++) {
for (int j = 0; j <= i; j++) {
num[i][j] = s.nextInt();
}
}
}
/**
* 从TOP TO BUTTOM进行遍历
*/
public void track() {
lineTotal[0][0] = num[0][0];
int left = 0;
int right = 0;
int leftTotal = 0;
int rightTotal = 0;
int maxIndex = 0;
for (int i = 1; i < 4; i++) {
maxIndex = i - 1;
for (int j = 0; j <= i; j++) {
left = j - 1;
right = left + 1;
if (left <= maxIndex && left > -1) {
leftTotal = lineTotal[i-1][left] + num[i][j];
} else { //如果左结点不在则认为不可达
leftTotal = Integer.MAX_VALUE;
}
if (right <= maxIndex) {
rightTotal = lineTotal[i-1][right] + num[i][j];
} else { //同左结点
rightTotal = Integer.MAX_VALUE;
}
lineTotal[i][j] = leftTotal < rightTotal ? leftTotal : rightTotal;
System.out.println("i=" + i + ", j=" + j + " is " + lineTotal[i][j]);
}
}
}
public void getMinSum() {
int min = Integer.MAX_VALUE;
for (int i = 0; i < 4; i++) {
if (min > lineTotal[3][i]) {
min = lineTotal[3][i];
}
}
System.out.println("top to button 最短路径:" + min);
}
}
控制台输入输出显示:
请输入金字塔数字:
2
3 4
6 5 7
4 1 8 3
i=1, j=0 is 5
i=1, j=1 is 6
i=2, j=0 is 11
i=2, j=1 is 10
i=2, j=2 is 13
i=3, j=0 is 15
i=3, j=1 is 11
i=3, j=2 is 18
i=3, j=3 is 16
top to button 最短路径:11
发表评论
-
NIO 简单实现的服务端和客户端通信
2015-06-29 11:35 647服务端代码如下: import java.io.IOExcep ... -
aaaaaaaaaaaa
2014-08-30 09:01 0111111111111111 -
struts2与checkbox的关系
2014-03-25 15:35 576Struts2 框架对checkbox的处理 1、 对于htm ... -
doc命令之关机管理
2014-03-21 09:26 647@echo off set /p p=是否关机(1:关机 2: ... -
汉诺塔递归算法
2014-03-15 10:49 522class Hanio { private int st ... -
回溯算法之八皇后
2014-03-13 13:27 557public class EightQueens { ... -
xml的基本学习
2014-03-04 15:17 7891、 XML的概念 允许开发 ... -
软件生命三大测试的概念和区别
2014-02-17 22:01 0根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和 ... -
Session处理同账号管理
2013-10-22 17:19 717首先使用HttpSessionAttributeListene ... -
线程概念
2013-03-20 21:06 0线程对可共享的、可改变的状态变量进行访问,需要实现协同,否则数 ... -
KMP算法
2013-03-20 14:10 840package zl.character.compare; ... -
parseInt惹的祸
2013-03-04 17:57 750今天项目在实施的过程中,出现了让我懊恼的事情: 卡的金额读不出 ... -
Unable to retrieve metadata for procedure
2013-03-01 13:51 3828第一次用jdbc调用mysql存储过程的过程中犯了一个严重的错 ... -
JDK动态代理和CGLIB动态代理的学习
2012-10-08 17:25 0JDK动态代理是基于java.lang.reflect.Pro ... -
log4j输出spring框架的信息
2012-10-08 17:00 0log4j.logger.org.springframewor ... -
ReadWriteLock多线程下操作
2012-09-06 17:45 927ReadWriteLock是实现多线程环境下同步的一种方式。与 ... -
WIN7 BCompare 启动应用程序发生错误
2012-08-24 11:26 1017WIN7下寻找: 把C:\用户\[用户名]\AppData\S ... -
ant
2012-08-24 11:15 0当使用-jar执行可执行Jar包时,JVM将Jar包所在目录设 ... -
java 学习
2012-08-14 21:18 572使用final声明的类不能有子类 使用final声明的方法不能 ... -
spring框架后处理器的学习
2012-07-27 09:22 644spring框架对容器管理bean和容器本身提供了额外增强功能 ...
相关推荐
C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔
金字塔原理概要.pdf
在网上找了好久都没找到基于opencv的金字塔模板匹配算法代码,我就自己把金字塔和模板匹配的代码结合了一下,代码基于opencv2.48.
数字金字塔.rar数字金字塔.rar数字金字塔.rar数字金字塔.rar数字金字塔.rar数字金字塔.rar
js 特效 html 特效 数字金字塔js 特效 html 特效 数字金字塔
缠论公式简化版-金字塔公式 带顶底背驰,macd力度 级别显示
拉普拉斯金字塔、QMF、小波和可操纵金字塔。这些 对任意维度的一维或二维信号进行操作。数据 结构与 MatLab 小波工具箱兼容。 - 快速 2D 卷积例程,具有子采样和边界处理。 - 快速点运算、直方图、直方图匹配。...
输出Laplace金字塔图像序列,实现Laplace金字塔图像融合
文件校验: D:\快捷\金字塔-木棍2\金字塔建筑的设想-在冬至用木棍竖立得到影子.zip 大小: 12498196 字节 修改时间: 2019年1月10日, 11:46:47 MD5: F619A1D620EF63031B4816C74ED08985 SHA1: 3B979E96F472E655D123B...
matlab开发-高斯金字塔和拉普拉斯金字塔。视为原始图像
提出了一种采用图像金字塔纹理和边缘多尺度特征的烟雾检测算法。首先,该算法将图像进行金字塔分解,然后在每层图像上提取局部二元模式 ( LBP) 和边缘方向直方图( EOH) ,采用不同池化方法得到金字塔局部二元模式( ...
实现高斯金字塔和高斯差分金字塔,采用opencv实现的对图像建立高斯金字塔与高斯差分金字塔。
gdal库读取影像和建立金字塔代码的代码
1.领域:matlab,高斯金字塔和双边滤波的水下模糊图像的融合算法 2.内容:基于高斯金字塔和双边滤波的水下...运行时注意matlab左侧的当前文件夹窗口必须是当前工程所在路径。 具体可观看提供的操作录像视频跟着操作。
如何输出金字塔和镂空的金字塔,分别用了java 和oracle两种方法。
使用python实现的图像金字塔获取程序,包括高斯金字塔和拉普拉斯金字塔,用于检验CNN输出的残差
基于双路径融合特征金字塔的肺结节检测方法.docx
图形对比度金字塔构建和图像融合,代码完整。
高斯金字塔的原理解析 SIFT算法分析 第一步 构建高斯金字塔以及高斯差分金字塔 第二步 寻找差分金字塔上的极值点
用OpenGL编写的金字塔,有贴图,金字塔旋转