算法
我懒得起名随便叫我就行
程序媛
展开
-
二叉树-已知先序遍历和中序遍历,如何求后序遍历
首先,我们要先知道二叉树通常遍历的顺序:先序--根左右 中序--左中右 后序--左右中 层序遍历--从上至下,从左到右然后,通过上面可以总结出用本题目的求解过程:确定树的根节点 求解树的子树 对二叉树的左、右孩子分别进行步骤1、2,直到求出二叉树结构为止。最后,实现代码如下:package tree;public class BinaryTree { pri...原创 2020-02-02 22:04:46 · 1827 阅读 · 0 评论 -
深度优先搜索--从1到n数字的所有排列
把数字当做扑克牌按照一定顺序依次放到盒子内。public class DfsTest { //深度优先遍历, 求从1到n的所有数字排列 static int a [] = new int[10]; static int book [] = new int[10];//book中的值为标记用,初始值设置为0,为扑克牌在手上时 static int n = 3;...原创 2020-01-30 21:34:12 · 447 阅读 · 0 评论 -
判断回文字符串算法
首先了解什么是回文字符串,就是正读反读均相同的字符序列,所以是中间对称的。像aha,ahaha,等等;可以用不同的方法判断。1.利用栈的特性(后进先出)实现public static boolean isHuiWen(String str){ Stack<Character> stack = new Stack<>(); char [...原创 2020-01-28 22:06:45 · 1093 阅读 · 0 评论 -
快慢指针求解算法
思路:慢指针从头开始,快指针遇到需要删除的元素就跳过,不需要删除的元素就把快指针的元素赋值给慢指针,然后快慢同步向后移动。有序数组去重Leetcode-26. 删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。clas...原创 2020-01-21 17:07:15 · 166 阅读 · 0 评论 -
小Q正在给一条长度为n的道路设计路灯安置方案。
问题:小Q正在给一条长度为n的道路设计路灯安置方案。为了让问题更简单,小Q把道路视为n个方格,需要照亮的地方用'.'表示, 不需要照亮的障碍物格子用'X'表示。小Q现在要在道路上设置一些路灯, 对于安置在pos位置的路灯, 这盏路灯可以照亮pos - 1, pos, pos + 1这三个位置。小Q希望能安置尽量少的路灯照亮所有'.'区域, 希望你能帮他计算一下最少需要多少盏路灯。输入描述...原创 2018-08-10 23:27:11 · 1368 阅读 · 1 评论