摘要: 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.0,1 背包问题package search;import java.util.Iterator;import java.util.Stack;public class Zte { private Stack<Integer> stack = new Stack<Integer>(); public void findNM(int sum, int n) { if (n < 0 || sum < 0) { return; ... 阅读全文
posted @ 2012-10-02 16:21 苦逼程序猴 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个整数序列。其中一表示栈的 push 顺序,判断另一个序列有没可能是对应的 pop 顺序package search;import java.util.Stack;public class PushPopSeries { public static boolean isPopSeries(int[] push,int[] pop){ if(push.length!=pop.length){ return false; } int i1=0,i2=0,len=pop.length; Stack<In... 阅读全文
posted @ 2012-10-02 16:18 苦逼程序猴 阅读(224) 评论(0) 推荐(0) 编辑
摘要: package com.mianshi.ms;import java.util.Stack;/** * 类说明 输入N对括号,输出正确的配对组合 */public class NPair { public static Stack<String> doCompute(int N){ Stack<String > stack=new Stack<String>(); if(N==1){ stack.push("()"); return stack; } Stack<String> stac... 阅读全文
posted @ 2012-08-12 17:40 苦逼程序猴 阅读(268) 评论(0) 推荐(0) 编辑
摘要: package com.bupt.syc;import java.util.Iterator;import java.util.LinkedList;import org.junit.Test;public class Josephus { // 模拟解法 public static int JosephusWinner(int M, int N) throws Exception { if (N < M) { throw new Exception("M should smaller than N"); } int ... 阅读全文
posted @ 2012-08-12 17:15 苦逼程序猴 阅读(150) 评论(0) 推荐(0) 编辑
摘要: public class RemoveDuplicatedChar { public static void removeDuplicated(char[] str) { if (str == null) return; int len = str.length; if (len < 2) return; int tail = 1; for (int i = 1; i < len; i++) { int j; for (j ... 阅读全文
posted @ 2012-08-12 17:06 苦逼程序猴 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1 package test; 2 import java.util.LinkedList; 3 4 public class TestCombination { 5 public static void combination(char[] arr) { 6 int len = arr.length; 7 int[] used = new int[len]; 8 LinkedList<Character> linkedlist = new LinkedList<Character>(); 9 combination(... 阅读全文
posted @ 2012-08-08 17:30 苦逼程序猴 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 1 package test; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.LinkedList; 6 import java.util.List; 7 import java.util.Stack; 8 import java.util.Vector; 9 10 public class TreeOperator { 11 public static void preOrder(TreeNode node) { 12 if (no... 阅读全文
posted @ 2012-08-08 17:29 苦逼程序猴 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 功能说明:将文本文件内容加以排序。语 法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]补充说明:sort可针对文本文件的内容,以行为单位来排序。参 数:-b忽略每行前面开始出的空格字符。-c检查文件是否已经按照顺序排序。-d排序时,处理英文字母、数字及空格字符外,忽略其他的字符。-f排序时,将小写字母视为大写字母。-i排序时,除了040至176之间的ASCII字符外,忽略其他的字符。-m将几个排序好的文件进行合并。-M将前面3个字母依照月份 阅读全文
posted @ 2012-08-07 22:03 苦逼程序猴 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 写一个函数,完成内存之间的拷贝。[考虑问题是否全面,是否考虑内存重叠问题]返回void *支持链式操作,参数类型是void *以支持任意类型的指针,输入参数加上const修饰,最好加上assert对输入输出指针进行非NULL判断void* memcpy( void *dest, const void *src, size_t count ){char* pdest = static_cast<char*>( dest );const char* psrc = static_cast<const char*>( src );// 依次从前拷贝,目的地址覆盖了源地址的数,此 阅读全文
posted @ 2012-08-07 21:55 苦逼程序猴 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 1 概述链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1)。设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无法比拟的,Hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然而Hash函数是Hash链表最核心的部分,本文尝试分析一些经典软件中使用到的字符串Hash函数在执行效率、离散性、空间利用率等方面的性能问题。2 经典字符串Hash函数介绍作者阅读过大量经典软件原代码,下面分别介绍几个经典软件中出现的字符串Hash函数。2.1 PHP中出现的字符串Hash函数static unsigned lo 阅读全文
posted @ 2012-08-07 21:54 苦逼程序猴 阅读(343) 评论(0) 推荐(0) 编辑