- 浏览: 787261 次
- 性别:
- 来自: 深圳
最新评论
-
萨琳娜啊:
Java读源码之Netty深入剖析网盘地址:https://p ...
Netty源码学习-FileRegion -
飞天奔月:
写得有趣 ^_^
那一年你定义了一个接口 -
GoldRoger:
第二个方法很好
java-判断一个自然数是否是某个数的平方。当然不能使用开方运算 -
bylijinnan:
<script>alert("close ...
自己动手实现Java Validation -
paul920531:
39行有个bug:"int j=new Random ...
java-蓄水池抽样-要求从N个元素中随机的抽取k个元素,其中N无法确定
文章列表
public class LinkListTest {
/**
* we deal with two main missions:
*
* A.
* 1.we create two joined-List(both have no loop)
* 2.whether list1 and list2 join
* 3.print the joinPoint
*
* B.
* 1.create loop in list1 by itself
* 2.whether the list has loop
* 3.pri ...
java-打印不大于N的质数
- 博客分类:
- 算法与数据结构
public class PrimeNumber {
/**
* 寻找不大于N的质数
*/
public static void main(String[] args) {
int n=100;
PrimeNumber pn=new PrimeNumber();
pn.printPrimeNumber(n);
System.out.println();
pn.printPrimeNumber2(n);
}
public void printPrimeNumber(int n){
int i=2;
while(i ...
java-64.寻找第N个丑数
- 博客分类:
- 微软等面试100题
public class UglyNumber {
/**
* 64.查找第N个丑数
具体思路可参考 [url] http://zhedahht.blog.163.com/blog/static/2541117420094245366965/[/url]
*
题目:我们把只包含因子
2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。
*/
public static void main(String[] args) {
...
import java.util.Arrays;
import java.util.Random;
public class MinKElement {
/**
* 5.最小的K个元素
* I would like to use MaxHeap.
* using QuickSort is also OK
*/
public static void main(String[] args) {
MinKElement mke=new MinKElement();
int[] a={1,2,3,4,5,6,7,8};
int k=4 ...
java-1.二叉查找树转为双向链表
- 博客分类:
- 微软等面试100题
import java.util.ArrayList;
import java.util.List;
public class BSTreeToLinkedList {
/*
把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。
10
/ \
6 14
/ \ / \
4 8 12 16
转换成双向链表
4=6=8=10=12=14=1
*/
public static void main(String[] args) {
BSTreeT ...
java-3.求子数组的最大和
- 博客分类:
- 微软等面试100题
package beautyOfCoding;
public class MaxSubArraySum {
/**
* 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,
因此输出为该子数组的和18。
下面的解法:数组元素全是负数时,认为子数组最大和为0
*/
public stat ...
public class TwoElementEqualSum {
/**
* 第 14 题:
题目:输入一个已经按升序排序过的数组和一个数字,
在数组中查找两个数,使得它们的和正好是输入的那个数字。
要求时间复杂度是 O(n) 。如果有多对数字的和等于输入的数字,输出任意一对即可。
例如输入数组 1 、 2 、 4 、 7 、 11 、 15 和数字 15 。由于 4+11=15 ,因此输出 4 和 11 。
*/
public static void main(String[] args) {
int[] a={1,2,4,7,11,15 ...
java-11.二叉树中节点的最大距离
- 博客分类:
- 微软等面试100题
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
b. 1
/ \
2 3
/ \
4 5
/ \
6 7
/ ...
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
* 2.curSum>exceptedSum:return;
* 3.curSum<exceptedSum:push the node to path,continue in L ...
具体思路参见:http://zhedahht.blog.163.com/blog/static/25411174200712895228171/
import java.util.ArrayList;
import java.util.List;
public class MinStack {
//maybe we can use origin array rather than ArrayList
private List<Integer> dataStack;
private List<Integer> auxStack;//store ...
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class MaxPrefix {
public static void main(String[] args) {
String str="abbdabcdabcx";
//String str="ababa";
MaxPrefix mp=new MaxPrefix();
mp.findMaxPrefix2(str);
}
...
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ExoWeb {
public static void main(String[] args) {
ExoWeb ew=new ExoWeb();
System.out.println(ew.findSecondIn3Item(2, 5, 3));
int[][] aa={
{1,1,1,1,2,1},
{1, 1, 0, 0, 1, 1}, ...
参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984
写了个java版的:
public class Print_1_To_NDigit {
/**
* Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
* 1.使用字符串存放数字。int a=123 --> char[] a={'1','2','3'};
* 2.递归。设置好第n位(最高位,对应char数组的第0个元素)后,接下来设置第n-1,n-2.....位
...
java-递归判断数组是否升序
- 博客分类:
- 算法与数据结构
public class IsAccendListRecursive {
/*递归判断数组是否升序
* if a Integer array is ascending,return true
* use recursion
*/
public static void main(String[] args){
IsAccendListRecursive is=new IsAccendListRecursive();
int[][] a={
{1,2,3,4,5,6,7},
{8,2,3,4,5,6,7},
{1, ...
import java.util.Arrays;
public class MergeSort {
public static void main(String[] args) {
int[] a={20,1,3,8,5,9,4,25};
mergeSort(a,0,a.length-1);
System.out.println(Arrays.toString(a));
}
public static void mergeSort(int[] a,int first,int last){
int len=a.length;
...