随笔分类 - 左神算法课
一些有意思的算法题
摘要:题目 给你一个数组arr,和一个整数aim。如果可以任意选择arr中的数字,能不能累加得到aim,返回true或者false
阅读全文
摘要:题目 给你一个二维数组,二维数组中的每个数都是正数,要求从左上角走到右下角,每一步只能向右或者向下。沿途经过的数字要累加起来。返回最小的路径和。
阅读全文
摘要:这道题是最简单的递归问题,这里探讨两个问题: 递归和非递归的转换 任何一个递归过程都可以改为非递归,递归的描述逻辑是从后往前的,f(n)依赖f(n 1)的结果,f(n 1)依赖f(n 2)的结果...以此类推,但是非递归的逻辑是从前往后的,递归改非递归,就是要往前找到不依赖任何项的第一项,再改成(一
阅读全文
摘要:package MyExc; import nowcoder.easy.day05.UnionFind; import java.util. ; class Node{ public int value; //入度 public int in; //出度 public int out; //邻居节点
阅读全文
摘要:定义 (一)前缀树作用 基本作用 给定一系列的字符串,判断有没有以某些字符开头的字符串 ; 扩充用法1 已有一系列字符串中 是否包含某个字符串 方案:在每一个节点上加上一个数据项,该数据项表示由多少字符串是以当前字符结尾的。 扩充用法2 给定一系列字符串, 查询有多少字符串是以当前字符作为前缀的 。
阅读全文
摘要:定义 并查集 是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个 联合 查找算法 ( union find algorithm )定义了两个用于此数据结构的操作: Find:确定元素属于哪一个子集。 它可以被用来确定两个元素是否属于同一子集 。 Union
阅读全文
摘要:题目 分析 数组里面一定有两个以上元素,而且任意两个相邻数不相等 两头: 一个位置比后一个位置数小,称之为局部最小 一个位置比前一个位置数小,称之为局部最小 中间: 一个位置必须比前一个位置小,也要比后一个位置小,称之为局部最小 形象点理解 两头递增、递减,中间下凹 题目要求只返回一个局部最小的位置
阅读全文
摘要:题目 该结构比普通二叉树节点结构多了一个指向父节点的 parent 指针。假设有一 棵 Node 类型的节点组成的二叉树,树中每个节点的 parent 指针都正确地指向自己的父节点,头节点的 parent 指向 null。只给一个在二叉树中的某个节点 node,请实现返回 node 的后继节点的函数
阅读全文
摘要:题目 请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时 折痕是凹下去的,即折痕突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2 次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。 给定一 个输入参数N,代表纸条都从下边向上方连续对折N
阅读全文
摘要:```java package MyExc; import java.util.Stack; class TreeNode{ int data; TreeNode left; TreeNode right; } public class BinaryTree { public void preOrder(TreeNode head){ Stack stack = new Stack(); stac
阅读全文
摘要:问题 标准贪心问题 输入: 参数1,正数数组costs ; 参数2,正数数组profits ; 参数3, 正数k ; 参数4,正数m ; costs[i]表示i号项目的花费, profits[i]表示i号项目在扣除花 费之后还能挣到的钱(利润), k表示你不能并行、只能串行的最多 做k个项目, m表
阅读全文
摘要:题目 设计一个数据结构,使其能够在接收一个数据流时(数据流全部为整数),动态的返回已经接收到数据的中位数 思路 设计一个大顶堆B,一个小顶堆S,第一个数使其进入B,然后把这个数作为比较的对象,大于这个数使其进入S,小于这个数进入B,每一次进入操作后,执行调整操作,如果两个堆的size之差大于2,进行
阅读全文

浙公网安备 33010602011771号