`
收藏列表
标题 标签 来源
Pattern-java1 pattern-java1 String、Pattern、Matcher——java正则
/**
 * 作者:阳光的味道
 * 功能:Patrern、Matcher示例
 * 日期:2010/11/08
 * */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestPatterAndMacher {

	public static void main(String[] args) {
		//通过compile()方法创建Pattern实例
		Pattern pattern=Pattern.compile("java",Pattern.CASE_INSENSITIVE);
		//通过match()创建Matcher实例
		Matcher matcher=pattern.matcher("java Java java JAVA jAva");
		while (matcher.find())//查找符合pattern的字符串
		{
			System.out.println("The result is here :" + 
					matcher.group() + "\n" + "It starts from "
					+ matcher.start() + " to " + matcher.end() + ".\n");
		}
	}
}
Pattern-java pattern-java String、Pattern、Matcher——java正则
/**
 * 作者:阳光的味道
 * 功能:Patrern、Matcher示例
 * 日期:2010/11/08
 * */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestPatterAndMacher {

	public static void main(String[] args) {
		//通过compile()方法创建Pattern实例
		Pattern pattern=Pattern.compile("java");
		//通过match()创建Matcher实例
		Matcher matcher=pattern.matcher("java Java java JAVA jAva");
		while (matcher.find())//查找符合pattern的字符串
		{
			System.out.println("The result is here :" + 
					matcher.group() + "\n" + "It starts from "
					+ matcher.start() + " to " + matcher.end() + ".\n");
		}
	}
}
算法系列之回溯算法 算法系列之回溯算法 算法系列之回溯算法
package test.aglorith;

public class Recall {
	static int solution_nums=0;
	static boolean[][] pan=new boolean[8][8];
	
	//设置入口函数
	static void first(int i,int j){
		pan[i][j]=true;
		//up
		goNext(i-1, j, 1);
		//down
		goNext(i+1, j, 1);
		//left
		goNext(i, j-1, 1);
		//right
		goNext(i, j+1, 1);
	}
	
	static void goNext(int i,int j,int nums){
		//判断是否越界,是否走过
		if ((i>=0&i<8) && (j>=0&j<8) && pan[i][j]==false) {
			pan[i][j]=true;
			nums++;
			//判断是否走遍了所有格子
			if (nums==64) {
				solution_nums++;
				System.err.println(solution_nums+"~~");
				pan[i][j]=false;
				return;
			}
			
			//up
			goNext(i-1, j, nums);
			//down
			goNext(i+1, j, nums);
			//left
			goNext(i, j-1, nums);
			//right
			goNext(i, j+1, nums);
			
			//做好扫尾工作,擦除走过的轨迹
			pan[i][j]=false;
		}
	}
	
	public static void main(String[] args) {
		first(0, 0);//假设从(0,0)点开始
		System.err.println(solution_nums);
	}
}
算法 分治法(3篇)之标准分治
public static void mergeSort(int[] data) {

		mergeSort(data, 0, data.length - 1);
	}

	private static void mergeSort(int[] data, int low, int high) {

		if (low < high) {
			int mid = (low + high) / 2;
			mergeSort(data, low, mid);
			mergeSort(data, mid + 1, high);
			merge(data, low, mid, high);
		}

	}

	// 合并
	public static void merge(int[] data, int start, int mid, int end) {
		int tmp[] = new int[end - start + 1];
		int i = start;
		int j = mid + 1;
		int k = 0;

		while (i <= mid && j <= end) {

			if (data[i] < data[j]) {
				tmp[k++] = data[i++];
			} else {
				tmp[k++] = data[j++];

			}
		}
		//拷贝左边数组的值
		while (i <= mid) {
			tmp[k] = data[i];
			k++;
			i++;
		}
		//拷贝右边数组的值
		while (j <= end) {
			tmp[k] = data[j];
			k++;
			j++;
		}

		// 重新赋值给data
		int m = 0;
		for (int n = start; n <= end; n++) {
			data[n] = tmp[m++];
		}

	}
Global site tag (gtag.js) - Google Analytics