![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
水林夕smile
这个作者很懒,什么都没留下…
展开
-
java语言实现二叉树的前序、中序与后序遍历(递归与非递归) 层次遍历
import Java.util.*;public class BinaryTree { private BinaryTree lchild; private BinaryTree rchild; private Object data; /** * @param args */ public BinaryTree(BinaryTree l, BinaryT转载 2016-12-24 21:34:43 · 373 阅读 · 0 评论 -
【剑指offer】滑动窗口的最大值
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5原创 2017-03-26 10:59:31 · 313 阅读 · 0 评论 -
【Leetcode】235. Lowest Common Ancestor of a Binary Search Tree
算法描述 Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined betw原创 2017-04-10 22:35:35 · 186 阅读 · 0 评论 -
【LeetCode】236. Lowest Common Ancestor of a Binary Tree
算法描述 Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two node原创 2017-04-10 22:29:41 · 185 阅读 · 0 评论 -
根据二叉树中序和后序(先序)遍历结果 重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 public TreeNode buildTree(int[] inorder, int[] postorder) { int inStart转载 2017-03-14 21:56:55 · 625 阅读 · 0 评论 -
【动态规划】—找零钱问题
算法描述: 有数组penny,penny中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim(小于等于1000)代表要找的钱数,求换钱有多少种方法。 给定数组penny及它的大小(小于等于50),同时给定一个整数aim,请返回有多少种方法可以凑成aim。 测试样例: [1,2,4],3,3 返回:2算法解析:设dp[n][m]为使用前n中转载 2017-04-08 22:42:06 · 939 阅读 · 0 评论 -
【剑指Offer】第一个只出现一次的字符位置
题目描述 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置 public class Solution { public int FirstNotRepeatingChar(String str) { char []strarry=str.toCharArray(); int[] array = n原创 2017-03-07 21:55:11 · 183 阅读 · 0 评论 -
剑指Offer 字符串排序
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。import java.util.ArrayList;/** * Created by xc o原创 2017-03-06 22:18:56 · 205 阅读 · 0 评论 -
两个单链表第一个公共结点
基本概念:两个链表是单链表,如果两个链表有公共节点,那么这两个链表从某一节点开始,它们都指向同一个节点,之后它们所有的节点都是重合的,不可能再出现分叉。所以拓扑形状看起来是Y型。算法思想:首先遍历两个链表得到它们的长度,就能知道哪个链表比较长,以及长的链表比短的链表多几个节点。在第二次遍历的时候,先在较长的节点上走若干步,接着同时在两个链表上遍历,找到的第一个相同的节点就是它们的公共的节点。publ转载 2017-02-27 15:50:50 · 288 阅读 · 0 评论 -
判断一个字符串是不是回文
《递归入门》所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的。比如”level” 、 “aaabbaaa”题目:判断一个字符串是否为回文解法:递归递归的作用在于把问题的规模不断缩少,直到问题缩少到能简单地解决问:如何缩少问题规模?答:通过观察可以知道,一个回文字符串其中内部也是回文。所以,我们只需要以去掉两端的字符的形式一层层检查,每一次的检查都去掉了两个字符,这样就达到了缩少问题转载 2017-03-05 20:47:55 · 712 阅读 · 0 评论 -
Java排序算法
Java排序算法归并排序算法public class MergeSort { public static void sort(int data[], int start, int end) { if (start < end) { int mid = (start + end) / 2; sort(data,转载 2016-12-25 10:31:37 · 194 阅读 · 0 评论 -
【剑指offer】圆圈中最后剩下的数
题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下去….直到剩下最原创 2017-03-26 13:47:47 · 517 阅读 · 0 评论