文章列表
package cn.gao.algorithm2.service;
import java.util.ArrayList;
/**
* 四则混合运算运算,如给定一个字符串"a+b*c-d/e",计算该表达式值
* @param args
*/
public class Test11 {
public ArrayList<Integer> objectList;/*保存操作数数组*/
public ArrayList<Integer> operatorList;/*保存操作符数组*/
public String s ...
package cn.gao.algorithm2.service;
/*
* 经典的八皇后问题(恒生电子笔试B卷最后一题,当初哥用8个for循环,真汗颜,无脸面江东父老。。。)
* 八皇后问题是一个古老而著名的问题,是递归中回溯算法的典型例题。在8X8格的国际象棋上摆放八个皇后,
* 使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一正反斜线上,问有多少种摆法。
* 这里将八皇后推广位N皇后问题NightQueueTest类实现此功能
*
* 解决思想:
* 构建规则函数,判断在某列col中,行为row的元素是否"碰撞"过原来 ...
package cn.gao.algorithm2.service;
public class Test6 {
/**
* @param args
* 实现subString功能
*/
public static int findSubString(char s[],char subs[])
{
if(s.length<subs.length)
{
return -1;
}
int i=0;/*S数组中每次遍历的的索引*/
int j=0;/*Subs数组中每次遍历的的索引*/
int ...
package cn.gao.algorithm2.service;
public class Test7 {
/**
* @param args
* 动态规划问题,0-1背包问题
* f[i,j]表示在前 i 件物品中选择若干件放在所剩空间为 j 的背包里所能获得的最大价值
* f[i,j]=max{f[i-1,j-Wi]+Pi (j>=Wi), f[i-1,j]}
* 核心思想是:对于第N件物品放或者不放;
*/
public static int f(int a[],int b[],int i,int j)/*参数依次为物品重 ...
package cn.gao.algorithm2.service;
/*
* 经典的生产-消费者模式
* 最简单的就是一个生产者和一个消费者对共同的缓冲区对象进行操作
* 可扩展成多对多的生产者消费者模式
*/
public class Test9 {
/**
* @param args
*/
static int common=0;
/*box是生产消费者所操控的对象*/
static class Box{
public int values;/*缓冲区中的值*/
public boolean full=false;/*表示 ...
package cn.gao.algorithm.bean;
/*封装迷宫的基类,成员x,y分别代表第一维,第二维坐标。(当然这里可以做的灵活一点,就是设计可扩展的维数)*/
public class IndexBean {
private int x;
private int y;
public IndexBean(int x, int y) {
super();
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x ...