java
文章平均质量分 85
crazy__chen
只要有一个人爱我,懂我,愿意等我,我便勇往直前,无所不能。
展开
-
go test命令参数问题
go test命令参数问题在使用go test对go代码进行单元测试的时候,遇到关于命令参数的问题,google了一下,没有找到很好的说明,其实就是一些细节而已。问题是这样的,在进行单元测试的时候,我希望输入一些命令行参数来控制程序的运行。 参考go官方文档,只需要在go test后面加上-args和参数就可以了 例如 go test -args -classpath E:\testcase原创 2016-03-18 15:04:37 · 8587 阅读 · 1 评论 -
合并链表
package test;import java.util.Arrays;import test.Test3.Node;public class Test2 { static class Node{ int value = -1; Node next = null; public Node(int i){ value = i; } @Overri原创 2015-03-10 21:41:11 · 942 阅读 · 0 评论 -
将无序数组中的奇数放在偶数前面
package test;import java.util.Arrays;public class Test2 { //类似快速排序 static void change(int[] arr){ int temp = arr[arr.length-1]; int start = 0; int end = arr.length-1; int cur = end; w原创 2015-03-10 20:51:25 · 1211 阅读 · 0 评论 -
镜像二叉树
package test;import java.util.LinkedList;public class Test3 { static class Node{ int value = -1; Node lnext = null; Node rnext = null; public Node(int i){ value = i; } @Overrid原创 2015-03-10 22:01:42 · 1038 阅读 · 0 评论 -
power(double d,int n)函数实现
package test;import java.util.Arrays;import java.util.Scanner;public class Test{ static Scanner sc = new Scanner(System.in); static String line; static double mpower1(double d, int n){原创 2015-03-09 21:56:02 · 1417 阅读 · 0 评论 -
归并排序java实现
package test;import java.util.Arrays;import java.util.Scanner;public class Test{ static Scanner sc = new Scanner(System.in); static String line; static int n = 8; static int[] arr = {2,原创 2015-03-09 21:23:42 · 604 阅读 · 0 评论 -
快速排序java实现
package test;import java.util.Arrays;import java.util.Scanner;public class Test{ static Scanner sc = new Scanner(System.in); static String line; static int n = 8; static int[] arr = {2,原创 2015-03-08 22:39:51 · 673 阅读 · 0 评论 -
java多线程哲学家思考吃饭问题
package test;import java.util.Scanner;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Test{ static Scanner sc = new Scanner(System.in); static原创 2015-03-05 00:03:42 · 1755 阅读 · 0 评论 -
java实现消费者与生产者队列
package test;import java.util.Scanner;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Test{ static Scanner sc = new Scanner(System.in); static原创 2015-03-04 23:17:42 · 1732 阅读 · 0 评论 -
java实现线程同步一个生产者和一个消费者
package test;import java.util.Scanner;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Test{ static Scanner sc = new Scanner(System.in); static原创 2015-03-04 18:21:14 · 760 阅读 · 0 评论 -
uva 699 - The Falling Leaves
Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=640Each year, fall in the North Central region is accompanied by the brilli原创 2015-02-14 22:46:15 · 660 阅读 · 0 评论 -
uva839
思路:输入本身就包含了递归,我们直接一边输入一边递归就可以了递归思想是这样的:假设我们已经拥有了一个判断某个子天平是否平衡的方法,称为solve()那么我判断一个天平是否平衡,可以使用这个方法先判断它的左子天平是否平衡,再判断它的右子天平是否平衡,最后计算W1D1=W2D2的公式是否平衡这里注意,我们在计算左右子天平是否平衡的同时,要记录这两个子天平的总重量,分别存在W1,W2所以原创 2015-02-14 21:28:03 · 846 阅读 · 0 评论 -
uva 548
思路:亮点是递归构造二叉树,还有就是有一个非常重要的知道点,某个子树后序遍历的最后一个结点一定是该子树的根结点,而中序遍历中左子树全位于根结点的左侧,右子树全位于根结点的右侧二叉树问题一般都可以使用递归算法,注意理清楚递归的用意package test;public class Test{ static class Node{//节点,也可以用数组 int value原创 2015-02-14 20:01:21 · 576 阅读 · 0 评论 -
uva679
题目:有一颗满二叉树,每个节点是一个开关,初始全是关闭的,小球从顶点落下, 小球每次经过开关就会把它的状态置反,现在问第k个球下落到d层时经过的开关编号。思路:这是一个完全二叉树,我们使用一个数组来存储即可,arr[index]表示标号为index的开关状态,-1表示管(往左),1表示开(往右)还有一个关键:对于一个节点k,其左节点、右节点的编号分别为2k,2k+原创 2015-02-14 13:36:10 · 1084 阅读 · 0 评论 -
UVA122
Background背景Trees are fundamental in many branches of computer science. Current state-of-the art parallel computers such as Thinking Machines' CM-5 are based on fat trees. Quad- and octal-trees ar原创 2015-02-14 15:21:31 · 1058 阅读 · 0 评论 -
UVA442
思路:题目坑爹。。。原来只会出现(AB)这种情况,也就是说一个括号里面只会有两个数,那么每次遇到“)”,就出栈两个数,相乘,然后进栈就可以了其他情况只要进栈就可以了,“(”不用管它java写的,输入略package test;import java.util.Stack;public class Test{ static class Matrix{ int m,原创 2015-02-11 15:08:12 · 733 阅读 · 0 评论 -
uva10391
思路:把单词切割成两部分,在set中查找是否两部分都存在即可package test;import java.util.Scanner;import java.util.TreeSet;public class Test{ static TreeSet set1 = new TreeSet(); public static void main(String[] arg原创 2015-02-10 14:48:35 · 752 阅读 · 0 评论 -
uva514
思路:根据题意明显C是一个栈,整个模拟是由两种情况构成的从A->C和从C->B,例如要求顺序是[5,4,1,2,3],A中的原顺序是[1,2,3,4,5],那么接下来有两个操作,如果B要求的第一个等于A中的第一个,那么直接从A->B,否则如果C的栈顶等于B要求的第一个,那么C->B如果都不是,那么只能A->C了如果以上都不成立,也就是说A里面已经没有数据了,那说明该要求顺序是不可能原创 2015-02-11 13:54:01 · 1189 阅读 · 0 评论 -
打印1到n位最大数
package test;import java.util.Scanner;import java.util.concurrent.TimeUnit;public class Test{ static Scanner sc = new Scanner(System.in); static String line; static class bigNum{ int n原创 2015-03-10 18:34:59 · 644 阅读 · 0 评论 -
模拟O(1)能返回最小值的栈
使用辅助来存储每次入栈后的最小值package test;import java.util.Arrays;public class Test2 { static int max = 10; static int n = -1; static int[] stack = new int[max], hstack = new int[max]; sta原创 2015-03-10 22:52:06 · 1044 阅读 · 0 评论 -
判断数组是否是搜索二叉树的后序遍历
package test;public class Test3 { static boolean check_tree(int[] arr,int low,int len){ int i = low; for(;i<len-1;i++){ if(arr[i] > arr[len-1]){ break; } } int j = i; for原创 2015-03-11 20:39:27 · 1506 阅读 · 0 评论 -
Implementing a virtual machine in C(虚拟机C语言实现)
介绍Github上展示了我们将要做的东西,你可以对比项目中的代码以防你遇到任何错误GitHub Repository 这是一篇关于使用C语言建造你自己的虚拟机的文章。我喜欢研究底层应用,例如编译器,解释器,编辑器,虚拟机等。预备知识和提醒在我们继续之前,有一些东西是你必须的:一个编译器 — 我在使用clang3.4,但是你可以使用支持c99/c11的任何编译器编辑器 — 我会建议你使用文本编辑翻译 2016-01-16 01:14:39 · 4258 阅读 · 0 评论 -
常见排序java实现
package test;import java.util.ArrayList;import java.util.Arrays;public class Test4 { /** * 插入排序 * 时间复杂度O(n^2) * 空间复杂度O(1) * 稳定排序 * 最好O(n),最坏O(n^2) */ static void insertSolve(int[]原创 2015-03-19 20:59:16 · 925 阅读 · 0 评论 -
android使用HttpURLConnection实现带参数文件上传
文件上传是常见功能,然而android网上大多数的文件上传都使用httpclient,而且需要添加一个httpmine-jar,其实HttpURLConnection也可以实现文件上传,但是它在移动端有个弊端,就是不能上传大文件,所以这次说的方式,只能上传一些较小的文件。文件上传,并且带上一些参数,这需要我们了解http请求的构造方式,也就是它的格式。HttpURLConnection需要原创 2015-08-16 17:39:20 · 9108 阅读 · 2 评论 -
关于压缩工具类ZipCompressor.java的说明
ZipCompressor.java是一个常见的压缩工具类,使用java的内置算法,可以用于压缩文件和文件夹。这个工具类很简单,我们来看一下它的实现。首先我们来看构造函数import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileO原创 2015-08-03 16:05:48 · 3924 阅读 · 0 评论 -
java生成者消费者队列实现(全)
单一生产,单一消费:信号量方式:package test;public class Main { boolean flag = true; int food = 0; class T1 extends Thread{ @Override public void run() { while(true){ synchronized (this原创 2015-05-03 20:23:49 · 1468 阅读 · 0 评论 -
android之设计模式
这篇文章结合安卓来说一下常用的设计模式,主要只是解释一些设计模式的意义和android中对应的例子单例模式单例模式就是只生成一个实例,避免多个实例造成的浪费和冲突在android里面对应的例子就是InputMethodManager使用单例模式的时候,要主要多线程安全的问题,所以在生成函数上加锁另外单例模式还分成饱汉模式和饿汉模式饿汉模式的特点是在类初始化是就生成单例对象原创 2015-03-05 21:58:59 · 719 阅读 · 0 评论 -
象棋问题
package test;import java.util.Arrays;import java.util.concurrent.TimeUnit;public class Test3 { static void solve(){ byte i = 81; while(i-->0){ if(i/9%3==i%9%3){ continue; }原创 2015-03-24 12:00:09 · 1058 阅读 · 0 评论 -
带权二叉树路径所代表的所有整数和
package test;import java.util.Arrays;public class Test2 { static class Node{ int value = -1; Node lnext = null; Node rnext = null; public Node(int i){ value = i; } @Ove原创 2015-03-24 11:58:44 · 1553 阅读 · 0 评论 -
全排列
package test;import java.util.Arrays;import java.util.Scanner;import java.util.concurrent.TimeUnit;public class Test{ static Scanner sc = new Scanner(System.in); static String line; st原创 2015-03-24 11:55:40 · 968 阅读 · 0 评论 -
查找最小的k个数
寻找最小的K个数题目描述:查找最小的K个数题目:输入n个整数,输出其中最小的K个数例如,输入1、2、3、4、5、6、7、8这8个数字,则最小的4个数字为1、2、3、4。package test;import java.util.ArrayList;import java.util.Collections;import java.util.TreeMap;import原创 2015-03-12 18:52:52 · 892 阅读 · 0 评论 -
第一个只出现一次的字符
题目:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出‘b’。package test;public class Test3 { static void solve(char[] arr){ int[] hashmap = new int[256]; for(int i=0,len=arr.length;i<len;i++){ hashmap原创 2015-03-12 21:12:35 · 782 阅读 · 0 评论 -
把数组排成最小数
package test;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.TreeMap;import java.util.TreeSet;public class Test3 { static void solve(S原创 2015-03-12 20:33:35 · 889 阅读 · 0 评论 -
丑数
因子中仅仅包含2、3、5的数,称为丑数。比如说14,就不是丑数,因为因子包含7。请输出所有丑数中的第n个丑数。package test;public class Test3 { static void solve(int n){ int[] stack = new int[n]; stack[0] = 1; int cur = 1; int index_原创 2015-03-12 21:03:58 · 833 阅读 · 0 评论 -
二叉树中和为某一值的路径
题目:输入一棵二叉树和一个整数,打印出二叉数中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。二叉树结点的定义如下:S truct BinaryTreeNode{int m_nValue;BinaryTreeNode*m_pLeft;BinaryTreeNode*m_pRight ;};package test;import原创 2015-03-11 21:05:08 · 1002 阅读 · 0 评论 -
查找数组中出现次数超过一半的数字
package test;public class Test3 { static int solve(int[] arr,int len){ int index = -1; int mid = (len)/2; int low = 0; int high = len-1; while(index != mid){ index = partition(原创 2015-03-11 23:31:33 · 1064 阅读 · 0 评论 -
查找子树
package test;public class Test2 { static class Node{ int value = -1; Node lnext = null; Node rnext = null; public Node(int i){ value = i; } @Override public String toString(原创 2015-03-10 22:04:08 · 1192 阅读 · 0 评论 -
翻转链表
package test;public class Test3 { static class Node{ int value = -1; Node next = null; public Node(int i){ value = i; } @Override public String toString() { return value+"";原创 2015-03-10 20:54:01 · 612 阅读 · 0 评论 -
UVa 210 Concurrency Simulator(双端队列)
思路:模拟运行,根据提议有两个队列,其中等待队列是双向队列这道题关键是变量的定义,使用index来代表程序,再使用一个数组来存储每个程序执行到第几条而每个程序就用vector来存储每条语句,每个程序又存储在一个vector里面package test;import java.util.ArrayList;import java.util.LinkedList;import ja原创 2015-02-10 17:28:06 · 1183 阅读 · 0 评论 -
UVA1598
思路:每个优先级队列分别存储sell和buy,每个指令后都判断是否产生交易package test;import java.util.Comparator;import java.util.Iterator;import java.util.PriorityQueue;import java.util.Queue;import java.util.Scanner;import j原创 2015-02-10 15:46:20 · 1309 阅读 · 0 评论