
算法
Genius_yyyyyyyyeah
...
展开
-
栈-判断某个出栈顺序是否合法
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) package Stack;import java.util.Stack;public class原创 2017-10-10 21:41:41 · 1064 阅读 · 0 评论 -
青蛙跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。public class Solution { public int JumpFloor(int n) { if(n==1) return 1; if(n==2) return 2; if(n==3) return 3; if(n>3) r原创 2017-10-10 22:11:28 · 211 阅读 · 0 评论 -
计算一个数的二进制数中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 例:11011 减去1:11010 第一次 11011 11010 11010 减去1:11001 11010 11001 11000 减去1:10111 11000 10111 10000 减去1:01111 10000 01111 00000 End 所以一共四个public class So原创 2017-10-10 22:27:33 · 290 阅读 · 0 评论 -
排序- 希尔排序 ShellSort
package genius.sort;import java.util.Arrays;public class ShellSortFinal { public static void shellSortSmallToBig(int[] data) { int j = 0; int temp = 0; //外循环控制循环的次数,也就是分组希尔排原创 2017-10-11 10:40:32 · 172 阅读 · 0 评论 -
二叉查找树Java实现
package Tree;/** * 二叉查找树 * */public class BSTree<T extends Comparable<T>> { private BSTNode<T> mRoot; // 根结点 public class BSTNode<T extends Comparable<T>> { T key; //原创 2017-10-11 14:08:40 · 223 阅读 · 0 评论 -
动态规划 - 背包问题
package genius.base;public class PackageAnswer { /** * @param m 表示背包的最大容量 * @param n 表示商品的个数 * @param w 表示商品重量数组 weight * @param p 表示商品价值数组 price */ public static int原创 2017-10-12 18:05:51 · 283 阅读 · 0 评论 -
Java利用栈解决符号匹配问题
1.奇数情况肯定无法匹配。 2.然后stack为空的时候先把第一个符号push进去,然后来了第二个符号,如果可以匹配的话就pop上面一个push进去的值。然后现在又为空了又开始进行for循环进行push操作。 3.如果第一个符号没有匹配那么 第二个符号也要push进来然后再匹配,依此类推。 4.最后stack的size为0说明符号匹配。package base;import jav原创 2017-10-14 19:13:33 · 1893 阅读 · 0 评论 -
递归实现全排列
public class EG02 { //全排列 //k当前关注点 public static void f2(char[] data,int k) { if (k==data.length) { for (int i = 0; i < data.length; i++) { System.out.原创 2018-02-07 13:43:22 · 328 阅读 · 0 评论