算法JAVA实现
在云边听雨
这个作者很懒,什么都没留下…
展开
-
字符串循环右移
public class Test { private String reverse(String s,int f,int t){ char[] cs = s.toCharArray(); if(cs.length > t && t > f){ int i,j; for(i=f,j=t; i char x = cs[i]; cs[i] = cs[j]; cs[j] = x;原创 2014-02-20 09:58:22 · 722 阅读 · 0 评论 -
字梯
public class WordLadder { public static void main(String[] args) { String start = "hit",end = "cog"; Set dict = new HashSet(); dict.add("hot"); dict.add("dot"); dict.add("dog"); dict原创 2014-04-13 17:10:39 · 1009 阅读 · 0 评论 -
旋转矩阵
/** * 对第i个矩形(i=0, 1, 2 …),4个顶点的坐标为: (i, i) ----------------------------------------- (i, n–1-i) | | |原创 2014-05-14 10:06:06 · 421 阅读 · 0 评论 -
旋转图像
您将一个n×n的二维矩阵表示图像。 90度(顺时针)旋转图像。 跟进: 你可以这样做原地?转载 2014-05-20 09:21:24 · 390 阅读 · 0 评论 -
搜索矩阵
写一个有效的算法,搜索在MXN矩阵的值。该矩阵具有的属性: 1)每行中的整数的排序从左至右。 2)每行的第一个整数大于所述前一行的最后一个整数。 例如,考虑下面的矩阵: [ [1,3,5,7], [10,11,16,20], [23,30,34,50] ] 给定的target = 3,则返回true。 public class MyAlg { pu原创 2014-05-19 16:58:50 · 748 阅读 · 0 评论 -
单词分割
public class AlgTest { private static final int START = 0;//开始值 public static void main(String[] args) { String s = "hellleet"; Set dict = new HashSet(); dict.add("hell"); dict.add("leet"); if原创 2014-04-12 17:06:15 · 464 阅读 · 0 评论 -
逆波兰式
public class AlgTest { private static Stack stack = new Stack(); public static void main(String[] args) { String[] tokens = new String[] { "2", "1", "+", "3", "*" }; String[] tokens1 = new String[原创 2014-04-12 14:40:14 · 597 阅读 · 0 评论 -
找出数组中的最大有序子数组
public class FindConArray { public static void main(String[] args) { int[] nums = {1000,4, 200, 1, 3, 2}; System.out.println(longestConsecutive(nums)); } public static int longestConsecuti原创 2014-05-12 11:23:06 · 845 阅读 · 1 评论 -
验证是否回文
把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫hui环原创 2014-05-12 12:04:24 · 495 阅读 · 0 评论 -
strStr()实现
strStr(String src,String dest) 在src中找到子字符串dest并返回剩下的部分。原创 2014-05-07 16:30:16 · 415 阅读 · 0 评论 -
矩阵中有0的元素,将它所在的行和列的元素设置为0
矩阵中you public class MyAlg { public static void main(String[] args) { int[][] matrix = { {0,2,4,5}, {2,34,0,43}, {34,4,8,56}}; MyAlg.setZeros(matri原创 2014-05-07 18:31:14 · 1194 阅读 · 0 评论 -
合并两个有序数组
public class Solution { public void merge(int A[], int m, int B[], int n) { while(m > 0 && n > 0){ if(A[m-1] > B[n-1]){ A[m+n-1] = A[m-1]; m--转载 2014-05-07 15:49:57 · 522 阅读 · 1 评论 -
String类型转int类型
public class MyAlgTest { public static int atoi(String str){ if(str == null || str.length() return 0; } str = str.trim(); char flag = '+'; int i = 0; if(str.charAt(0) == '-'){ flag = '-';原创 2014-05-07 09:28:25 · 537 阅读 · 0 评论 -
三数字想加等于0
三数字想加等于0 性能 O public class ThreeSum { public static void main(String[] args) { int[] nums = {-1,0,1,6,-2,-4}; System.out.println(threeSum1(nums).toString()); } public static ArrayList threeSu转载 2014-04-16 09:30:46 · 795 阅读 · 0 评论 -
多种负载均衡算法及其 Java 代码实现
首先给大家介绍下什么是负载均衡(来自百科) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web 服务器、 FTP服务器、 企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务转载 2017-02-15 08:41:06 · 285 阅读 · 6 评论