笔试题-田忌赛马

2022-5-13 diaba 笔试题

package com.jiucaiyuan.net.algrithm.audition; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.PriorityQueue; public class MrTianHorseRacing { /** * <pre> * 田忌赛马 * 两个数组没有重复元素,第一个数组固定按照从小道大出场比赛,数组较大的获胜 * 给出第二个...

阅读全文>>

评论(0) 浏览(775)

算法-二叉树遍历-morris遍历

2022-5-10 diaba 算法

package com.jiucaiyuan.net.question; import com.jiucaiyuan.net.algrithm.tree.Node; /** * 【Morris遍历】 * 一种遍历二叉树的方式,时间复杂度是O(N),额外空间复杂度是O(1) * 通过利用原树中大量空闲指针的方式,达到节省空间的目的 * 遍历过程中,更改了底层叶子结点指针,完成遍历后,恢复了指针指向 * * @Author jiucaiyuan 2022/5/10 22:45 * @mail services@jiucaiyuan.net */ pu...

阅读全文>>

评论(0) 浏览(815)

算法-多叉树-组织party最大快乐值

2022-5-7 diaba 算法

package com.jiucaiyuan.net.algrithm.tree; import java.util.List; /** * <pre> * 树形dp套路 * 树形dp套路使用前提: * 如果题目求解目标是S规则,则求解流程可以定成每一个节点为头节点的子树 * 在S规则下的每个答案,并且最终答案一定在其中 * 案例题 * 【题目】派对的最大快乐值 * 员工信息定义如下 * class Employee{ * public int happy; //这名员工带来的快乐值 * List<Employee>...

阅读全文>>

评论(0) 浏览(805)

算法-二叉树-最大距离

2022-5-6 diaba 算法

package com.jiucaiyuan.net.algrithm.tree; /** * 树形dp套路 * <p> * 树形dp套路使用前提: * 如果题目求解目标是S规则,则求解流程可以定成每一个节点为头节点的子树 * 在S规则下的每个答案,并且最终答案一定在其中 * <p> * 案例题 * 【题目】二叉树节点间的最大距离 * 从二叉树的节点a出发,可以向上或者向下走,但是沿途节点只能经过一次, * 到达节点b时路径上节点的个数叫做a到b的距离,那么二叉树任意两个节点 * 之间都有距离,求整棵树上的最大距离 ...

阅读全文>>

评论(0) 浏览(736)

算法-滑动窗口(滑动窗口中的最大值)

2022-5-6 diaba 算法

package com.jiucaiyuan.net.question; import java.util.LinkedList; /** * 滑动窗口结构及滑动窗口应用 * * @Author jiucaiyuan 2022/5/5 23:17 * @mail services@jiucaiyuan.net */ public class WindowMax { private int l; private int r; private int[] arr; // arr[ [l .. r) ] ...

阅读全文>>

评论(0) 浏览(750)

算法-Manacher算法(最长回文子串、回文半径)

2022-5-5 diaba 算法

package com.jiucaiyuan.net.question; /** * Manacher算法 * 解决问题:字符串str中,最长回文子串的长度如何求解? * 如何做到时间复杂度O(N)完成? * * @Author jiucaiyuan 2022/5/2 13:29 * @mail services@jiucaiyuan.net */ public class Manacher { /** * <pre> * <b>求输入字符s的最大回文子串(非子序列)</b> ...

阅读全文>>

评论(0) 浏览(717)

Powered by emlog 京ICP备15045175号-1 Copyright © 2022