算法
文章平均质量分 76
VoidMe
做自己感兴趣的事,做长远的规划
展开
-
扩展欧几里德算法Java实现和青蛙相遇
问题衔接:http://poj.org/problem?id=1061Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳原创 2017-02-12 17:59:47 · 3212 阅读 · 0 评论 -
一致性哈希算法原理
转载:http://www.cnblogs.com/lpfuture/p/5796398.html一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得转载 2017-09-14 16:01:38 · 312 阅读 · 0 评论 -
回文串算法 Longest Palindromic Substring leetcode
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output: "bab"Note: "aba" is also a valid answer.原创 2017-04-16 15:48:15 · 360 阅读 · 0 评论 -
Longest Substring Without Repeating Characters leetcode
Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "原创 2017-04-15 17:59:59 · 268 阅读 · 0 评论 -
Add Two Numbers leetcode
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return i原创 2017-04-15 15:26:27 · 317 阅读 · 0 评论 -
3sum leetcode
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note: The solution set must not contain原创 2017-04-15 11:59:58 · 256 阅读 · 0 评论 -
字符串模式匹配算法
字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽 本文内容框架:§1 Boyer-Moore算法§2 Horspool算法§3 Sunday算法§4 KMP算算法§5 KR算法§6 AC自动机§7 小结 §1 Boyer-Moore(BM)算法转载 2017-04-05 15:19:03 · 1181 阅读 · 0 评论 -
LeetCode Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the sam原创 2017-04-13 13:41:29 · 240 阅读 · 0 评论 -
Boyer-Moore算法Java实现
关于算法的说明可以看http://baike.baidu.com/link?url=-w9_47V9JJlgQLlEoFyXvxqBc97Zd281elktWQeTr0I-GgV8M3RK_oSkvSfwTg2DWWjunGpTgwpbXfeccOymS2w7Xh_aEzga-o2QcJHX1s_HcPi7zTgGdCrrJ6YW58eh百度百科的说明。第一种,根据百度百科C语原创 2017-04-09 12:23:02 · 815 阅读 · 0 评论 -
墙上的门-算法设计与分析基础2.2
你面前是一堵朝两个方向无限延伸的墙。墙上有一扇门,但你并不知道门离你有多远,也不知道门位于哪个方向。你只有在走到门门前才能看到它。假设从当前位置到门要走n(事先并不知道n的大小)步,请设计一个算法,使你最多走O(n)步就能遇到门.刚开始看这个题的时候,以为最后要停到门前。所以想到的是按照n=1,2,3,4,一个个递进的去试,所以算法是O(n^2).后来发现是遇到门就可以了。所以可以尝试原创 2017-02-16 12:55:06 · 3890 阅读 · 0 评论 -
霍纳法则
public class Horner { public static long honer(int[]p,int x){ long result=p[p.length-1]; for(int i=p.length-2;i>=0;i--){ result=x*result+p[i]; } return result; } public static void ma原创 2017-03-30 14:59:07 · 956 阅读 · 0 评论 -
高斯消去法Java实现
public class Gauss {/*** @列主元高斯消去法*/static double a[][];static double b[];static double x[];static int n;static int n2; //记录换行的次数 public static void Elimination(){ //消元转载 2017-03-29 13:47:55 · 2481 阅读 · 0 评论 -
AVL树Java实现
AVL树的旋转操作 图解 最详细各大教课书上讲的都是左旋与右旋,其实这样很容易理解错误,我们换一种叫法。我们称呼左旋为:逆进针旋转。我们称呼右旋为:顺进针旋转。老规矩,直接上图。如果再看不懂AVL树的旋转,我就无能为力了。。。如果图中有错误,欢迎指正。/** * Java 语言: AVL树 * * @author s转载 2017-03-29 13:02:14 · 2307 阅读 · 0 评论 -
pku1088
使用DFS算法和备忘录的方式,减少迭代次数。import java.util.Scanner;public class Main { public static int[][]result; public static void main(String[] args) { Scanner cin=new Scanner(System.in); int原创 2017-03-12 13:22:53 · 377 阅读 · 0 评论 -
深度优先搜索(DFS)
深度优先搜索(DFS)【算法入门】郭志伟@SYSU:raphealguo(at)qq.com2012/05/121.前言深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的转载 2017-03-10 15:17:10 · 281 阅读 · 0 评论 -
广度/宽度优先搜索(BFS)
广度/宽度优先搜索(BFS)【算法入门】郭志伟@SYSU:raphealguo(at)qq.com2012/04/271.前言广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。 一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最转载 2017-03-10 15:16:22 · 286 阅读 · 0 评论 -
深度优先算法
深度优先算法定义wiki上的解释:深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复转载 2017-03-10 15:10:20 · 4668 阅读 · 0 评论 -
海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)
转载自:http://blog.csdn.net/zyq522376829/article/details/47686867前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(100转载 2017-09-21 11:59:10 · 3817 阅读 · 0 评论