算法
彷徨的石头
这个作者很懒,什么都没留下…
展开
-
java Hash算法大全(转载的)
Java代码 /** * Hash算法大全 * 推荐使用FNV1算法 * @algorithm None * @author Goodzzp 2006-11-20 * @lastEdit Goodzzp 2006-11-20 * @editDetail Create */ public class HashAlgorithms { /**//**转载 2012-03-26 09:46:36 · 835 阅读 · 0 评论 -
怎样把字符串反转? Java实现
方法一:使用StringBuilder类的reverse()方法public class Test { public static void main(String[] args) { String str="abc"; String restr=new StringBuilder(str).reverse().toSt原创 2012-10-23 10:54:06 · 502 阅读 · 0 评论 -
怎样知道一个数字是不是2的乘方?怎样判断一个数是不是奇数? Java实现
(1)判断一个数是不是2的乘方的方法:对于整数num,如果(num&(num-1))==0,那么这个数就是2的乘方。 程序如下: public class Test { public static void main(String[] args) { System.out.println(isSq原创 2012-10-23 10:25:36 · 2649 阅读 · 0 评论 -
已经有13个球和一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次天平就找到那个球?
将十三个球分成3组:A(1\2\3\4)、B(5\6\7\8)、C(9\10\11\12\13)。将A组和B组放在天平的左右两端(第一次称),有三种情况:A重B轻、A轻B重、AB一样重。下面分三种情况分析:(1)、AB一样重。 在这种情况下,不同的那个球在C组(9、10、11、12、13)里面。然后,9、10放天平左边,11、12放天平右边(第二次称重)。转载 2012-10-17 14:35:34 · 1448 阅读 · 0 评论 -
两个有序数组合并为一个有序数组
思想:先依次比较两个数组,按照小的就传入新的数组。当这次比较完之后可能有一个数组的长度很长,留下一些数组,然后在新数组的末尾插入即可。1 class ArraySort 2 { 3 //两个有序数组的合并函数 4 public static int[] MergeList(int a[],int b[]) 5 { 6 int resu转载 2012-10-13 09:13:20 · 1172 阅读 · 0 评论 -
排序问题:各种排序算法的时间复杂度 比较
比较" alt="排序问题:各种排序算法的时间复杂度 比较" src="http://s3.sinaimg.cn/bmiddle/5e3ab00cx882c716a9e82&690"> 1.冒泡排序:n*n。 俩个for循环决定其时间复杂度为n^2template class T> void Swap(T A[], int i, int j){ T tmp =转载 2012-10-12 09:59:30 · 1147 阅读 · 0 评论 -
一个通用html抽取类
下面以新浪微博为例子 Java代码 package com.ansj.sun.pojo; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.regex.Matcher; import java.util.转载 2012-03-26 10:00:22 · 6387 阅读 · 0 评论 -
二叉树法插入查找例子
Java代码 public class BinaryTree { public static void main(String[] args) { BinaryTree bt = new BinaryTree(); int[] ints = {12,123,21,123,1,432,23,42,3,123,124,3,5435,转载 2012-03-26 09:43:50 · 476 阅读 · 0 评论 -
二分法查找
Java代码 import java.util.Arrays; /** * * @项目名称:Test * @类名称:BinarySearch * @类描述: 二分法查找 * @创建人:Ansj * @创建时间:2011-9-13 下午02:53:47 * @修改备注: * @version * */ pu转载 2012-03-26 09:41:20 · 483 阅读 · 0 评论 -
猴子吃桃子问题
/** * * 有一只猴子,第一天摘了若干个桃子 , * 当即吃了一半,但还觉得不过瘾 ,就又多吃了一个。 * 第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。 * 以后每天早上都吃了前一天剩下的一半加天数个 * (例如,第5天吃了前一天剩下的一般加5个)。 * 到第n天早上再想吃的时候,就只剩下一个桃子了。 * 输入:天数n * 输出:第转载 2012-03-26 10:02:27 · 1406 阅读 · 0 评论 -
论坛里看到的华为面试题
Java代码 import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; /** * * @项目名称:TestProject * @类名称:NewHua转载 2012-03-26 10:01:31 · 738 阅读 · 0 评论 -
BitMap 用于查重..只能查数字
Java代码 package ansj.sun.util; public class BitMap { private static final byte MAX = 127; public static void main(String[] args) throws InterruptedException { int转载 2012-03-26 09:58:18 · 859 阅读 · 0 评论 -
Java版本的BloomFilter (布隆过滤器)
一般比较常见的应用是字符串去重..也就是采集网址去重.防止重复采集Java代码 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\Users\\caiqing\\workspace\\CQ\\library\\dictionary-utf8.TXT")转载 2012-03-26 09:56:51 · 1918 阅读 · 0 评论 -
看网友的一道腾讯面试题有感
10000+个数字钟找出top100 Java代码 import java.util.Arrays; import java.util.Random; public class Top100 { private static Node head = null; private static Node end = null;转载 2012-03-26 10:04:07 · 538 阅读 · 0 评论 -
算法
一个用算法实现的程序会耗费两种资源:处理时间和内存。很显然,一个好的算法应该耗费时间少、所用内存低,但是实际上往往不能两全其美。 算法的类型分为如下几种: 1、贪婪算法:每一步所做的都是当前最紧急、最有利的,不会考虑后果,直到完成任务。这种算法的稳定性很差,很容易带来严重成果,但是如果方向正确,该算法也是高效的。 2、分治算法:该算法就是将一个大问题分解成许多小转载 2012-11-27 21:30:27 · 534 阅读 · 1 评论