基本算法
文章平均质量分 75
liu625286477
这个作者很懒,什么都没留下…
展开
-
从n本书中分别选取一页,输出全部组合
问题描述:现有n本书,分别从每本书中取一页,求全部的组合。解决方法:设当前书为第p本,前p-1本书的所取页数为tmp,依次遍历第p本这本书的所有页数 更新tmp,p增一,递归调用函数即可。import java.util.*;public class Solution { /** * @param a[] 每本书的页数 * @param n 表示那本书 * @param原创 2016-08-25 11:27:34 · 319 阅读 · 0 评论 -
最大乘积或和子序列
最大乘积子序列:public int maxProduct(int[] nums) { if(nums==null||nums.length==0){ return 0; } int n=nums.length; int max[]=new int[n]; int min[]=new int原创 2016-04-20 11:47:58 · 300 阅读 · 0 评论 -
输出n对符合的括号组合
分析,左扩号的数目永远大于或者等于右扩号的数目。public static void solution(int n,int l,int r,ArrayList ans,String tmp){ if(l<0||r<l){ return; } if(l==0&&r==0){ ans.add(tmp); }else{ if(l>0){ soluti原创 2016-04-20 11:12:52 · 379 阅读 · 0 评论 -
树的子结构
输入两颗二叉树A,B,判断B是不是A的子结构。class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}/* * 输入两颗二叉树A,B,判断B是不是A的子结构。 */publi原创 2016-04-11 20:16:43 · 367 阅读 · 0 评论 -
二叉树根据前序中序重建
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。java代码:class TreeNode { int val = 0; TreeNode left = null; T...原创 2016-04-11 15:36:49 · 355 阅读 · 0 评论 -
判断一个数组是否是某个二叉树搜索树的后序遍历
题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:二叉搜索树是一个颗完全二叉树,并且根节点大于或者等于左节点,小于或者等于右节点。二叉树的后序遍历是先左节点在右节点最后遍历根节点。因此,数组的最后一个元素一定是根节点,并且数组前面(除了根节点)的部分一定是左边原创 2016-04-11 14:19:53 · 1749 阅读 · 0 评论 -
求数据流中的中位数
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。思路:可以建立一个大堆maxHeap用来保存较小n/2的数,一个小堆minHeap用来保存Math.ceil(n/2)个数。1.开始时,maxHeap和minHeap都为空,即大小都为0,则将第一个数保原创 2016-04-11 13:37:13 · 2450 阅读 · 0 评论 -
二叉树序列化与反序列化 (非递归)
本文中的二叉树序列化与反序列化均采用层次遍历非递归的方式完成。空节点用‘#’隔开,节点与节点之间用空格隔开。节点类:class TreeNode { int val = 0; TreeNode1 left = null; TreeNode1 right = null; public TreeNode1(int val) { th原创 2016-04-11 01:00:47 · 874 阅读 · 0 评论 -
java bitmap 实现
bitmap 用于大量数据过滤,大量数据查找、排序。1.比如说在40亿个不重复的整型数据中,判断一个数字是否在这个数据集中;2.在大量数据集(有重复的数据)中,将重复数据过滤掉;3.对大量数据(没有重复数据)进行排序。package learn;public class Bitmap { int size; //表示数据范围大小 只考虑非负数的情况 in原创 2016-04-10 14:14:15 · 876 阅读 · 0 评论