递归DP-中国象棋马跳到目标位置的走法
package com.jiucaiyuan.net.question; /** * 中国象棋 * * @Author jiucaiyuan 2022/6/5 17:43 * @mail services@jiucaiyuan.net */ public class ChineseChessHorseJump { /** * 象棋,马从(0,0)位置,跳step步到达(x,y)位置的方法数 * * @param x 目的地x轴坐标 * @param y 目的地y轴坐标 * @pa...递归DP-金币组合最少金币数
package com.jiucaiyuan.net.question; /** * @Author jiucaiyuan 2022/6/5 11:33 * @mail services@jiucaiyuan.net */ public class CoinAmount { /** * 暴力递归 * 给一个正数数组,每个数表示一枚硬币的面值,给定一个数值,从硬币中选择得到这个金额的最少硬币数 * 比如指定硬币有[1,4,7,2,4,3,5,1,3] * 指定金额10,那么最少硬币数是7+3,两枚硬币,返回2 ...递归DP-机器人到达目的地方法数
package com.jiucaiyuan.net.question; /** * @Author jiucaiyuan 2022/6/5 10:34 * @mail services@jiucaiyuan.net */ public class Rabbit { /** * 给了一个固定值n,表示总共有多少个位置 * 开始机器人在s位置上,每次可以迈一步,想要到达e位置,总共要走k步,有多少种走法可以到达e位置 * 机器人可以往左走,也可以往右走 * * @param n 总共位置数 1 ...位运算-实现加、减、乘、除
package com.jiucaiyuan.net.question; /** * 问题:给定两个有符号32位整数a和b,不能使用算数运算符,实现加、减、乘、除运算 * 要求:如果给定a、b执行加减乘除运算结果就会导致数据的溢出,那么你实现的函数不必对此负责, * 除此之外,请保证计算过程不发生溢出 * <p> * 直到进位d为0时,最终的a就是a和b的和 * * @Author jiucaiyuan 2022/6/4 22:26 * @mail services@jiucaiyuan.net */ public class Ma...位运算-判断数是否是2的幂、4的幂
package com.jiucaiyuan.net.question; /** * <pre> * 判断一个32位正数,是不是2的幂、4的幂 * 2的幂,一个数的二进制只有一个1,一定是2的幂 * 方法1:依靠拿到这个数最右侧的1的方法,然后再和原 数进行比较,如果相等,是,否则不是 * 方法2:如果一个数x只有一个1,那么x-1,原来1变为0,后面所有0都变为1,那么 `x & (x-1) == 0` * 4的幂,一个数的二进制只有一个1,并且 `x & 0101010101 != 0` * </...位运算-不做比较判断得到两个数中的大数
package com.jiucaiyuan.net.question; /** * * 题目:给定两个有符号32位整数a和b,返回a和b较大的一个 * 要求:不用做任何比较判断 * * &(与)、|(或)、~(非)和 ^(异或) * * @Author jiucaiyuan 2022/6/3 23:13 * @mail services@jiucaiyuan.net */ public class GetMax { /** * 请保证参数n,不是1就是0的情况下 * 1 ——> 0 ...笔试题-田忌赛马
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> * 田忌赛马 * 两个数组没有重复元素,第一个数组固定按照从小道大出场比赛,数组较大的获胜 * 给出第二个...算法-二叉树遍历-morris遍历
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...算法-多叉树-组织party最大快乐值
package com.jiucaiyuan.net.algrithm.tree; import java.util.List; /** * <pre> * 树形dp套路 * 树形dp套路使用前提: * 如果题目求解目标是S规则,则求解流程可以定成每一个节点为头节点的子树 * 在S规则下的每个答案,并且最终答案一定在其中 * 案例题 * 【题目】派对的最大快乐值 * 员工信息定义如下 * class Employee{ * public int happy; //这名员工带来的快乐值 * List<Employee>...算法-二叉树-最大距离
package com.jiucaiyuan.net.algrithm.tree; /** * 树形dp套路 * <p> * 树形dp套路使用前提: * 如果题目求解目标是S规则,则求解流程可以定成每一个节点为头节点的子树 * 在S规则下的每个答案,并且最终答案一定在其中 * <p> * 案例题 * 【题目】二叉树节点间的最大距离 * 从二叉树的节点a出发,可以向上或者向下走,但是沿途节点只能经过一次, * 到达节点b时路径上节点的个数叫做a到b的距离,那么二叉树任意两个节点 * 之间都有距离,求整棵树上的最大距离 ...算法-滑动窗口(滑动窗口中的最大值)
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) ] ...算法-Manacher算法(最长回文子串、回文半径)
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> ...算法-数字字符转化为字母字符种数
package com.jiucaiyuan.net.question; /** * 【问题】规定1和A对应,2和B对应,3和C对应... * 那么一个数字字符串,比如"111",可以转化为"AAA","KA","AK" * 给定一个只有数字字符组成的字符串str,返回有多少种转化结果 * * @Author jiucaiyuan 2022/4/22 23:02 * @mail services@jiucaiyuan.net */ public class ConvertNum2Letters { public static int number...算法-不用额外空间逆序栈
package com.jiucaiyuan.net.question; import java.util.Stack; /** * 【问题】不使用额外空间逆序一个栈:给你一个栈,请你逆序这个栈, * 不能申请额外的数据结构,只能使用递归函数,如何实现? * 【思路】通过用递归,利用栈帧局部变量保存,未主动额外申请空间 * * @Author jiucaiyuan 2022/4/22 22:24 * @mail services@jiucaiyuan.net */ public class ReverseStackNoExtraSpace { ...算法-字符串的全排列
package com.jiucaiyuan.net.question; import java.util.ArrayList; import java.util.Comparator; import java.util.List; /** * 【问题】打印一个字符串的全排列列(如果再加一个附加条件:要求不出现重复排列) * 【思路】第一个位置可以选择其中任意一个字符,第二个位置可以选择剩下的n-1个任何一个字符,第三个位置可以选择n-2个任何一个字符,依次类推 * * @Author jiucaiyuan 2022/4/21 22:58 * @mail ...算法-字符串全部子序列
package com.jiucaiyuan.net.question; import java.util.ArrayList; import java.util.List; /** * 【问题】打印一个字符串的全部子序列,包含空字符串 * 【思路】从第一个字符开始,逐个字符进行处理,每个字符都可以选择要还是不要,分两条路递归 * * @Author jiucaiyuan 2022/4/20 23:57 * @mail services@jiucaiyuan.net */ public class PrintAllSubSequence { ...算法-N皇后问题(含加速版本)
package com.jiucaiyuan.net.question; /** * 【问题】N皇后问题,指的是n*n的棋盘,可以放n个皇后,要求任何两个皇后不同行、不同列,也不在同一条斜线上 * 给出一个整数n,返回n皇后的摆法有多少种 * 给n=1,返回1 * n=2或者3,2皇后和3皇后,无论怎么摆放都不行,返回0 * n=8,返回92 * 【思路】按照行往下摆放,然后一列一列尝试(加速版本会使用按照位操作来加速器处理,但是整体上也是所有都尝试一遍) * 时间复杂度O(N^N) * * @Author jiucaiyuan 2022/4/19 ...算法-贪心-做项目获得最大收益
package com.jiucaiyuan.net.question; import java.util.Comparator; import java.util.PriorityQueue; /** * 【问题】做一个项目,有成本,也有利润,一堆项目,如何选择做,实现收益最大? * 【思路】把所有项目,按照成本放入小根堆,从小根堆中拿出可以做的项目,然后按照利润放入大跟堆,开始先做大根堆的对顶项目 * * @Author jiucaiyuan 2022/4/18 23:10 * @mail services@jiucaiyuan.net */ pu...算法-贪心-会议安排问题
package com.jiucaiyuan.net.question; import java.util.Arrays; import java.util.Comparator; /** * <pre> * 贪心算法 * 在某一个标准下,优先考虑最满足标准的样本,最后考虑最不满足标准的样本, * 最终得到一个答案的算法,叫做贪心算法 * 也就是说,不从整体最优上加以考虑,所做出的是在某种意义上的局部最优解 * * 实例题:会议问题 * 问题内容:一些项目要占用会议室宣讲,会议室不能同时容纳两个项目同时宣讲。 * 给你每个项...算法-贪心-成本最小切金条
package com.jiucaiyuan.net.question; import java.util.PriorityQueue; /** * 【问题】一个金条切成两半,需要花费和长度一样的铜板。比如:长度为20的金条,不管切成多大的两块,都需要花费20个铜板 * 一群人想整分整块金条,怎么分最省钱? * 例如:给定一个数组[10,20,30],代表一共三个人,整块金条长度为10+20+30=60. * 金条要分成10、20、30三个部分,如果先把长度为60的金条分成10和50,花费60,再把 * 长度为50的分成20和30,花费50,一共花费110个铜板...日历
个人资料

diaba 寻求合作请留言或联系mail: services@jiucaiyuan.net
链接
最新文章
存档
- 2025年4月(17)
- 2025年3月(25)
- 2025年2月(20)
- 2025年1月(2)
- 2024年10月(1)
- 2024年8月(2)
- 2024年6月(4)
- 2024年5月(1)
- 2023年7月(1)
- 2022年10月(1)
- 2022年8月(1)
- 2022年6月(11)
- 2022年5月(6)
- 2022年4月(33)
- 2022年3月(26)
- 2021年3月(1)
- 2020年9月(2)
- 2018年8月(1)
- 2018年3月(1)
- 2017年3月(3)
- 2017年2月(6)
- 2016年12月(3)
- 2016年11月(2)
- 2016年10月(1)
- 2016年9月(3)
- 2016年8月(4)
- 2016年7月(3)
- 2016年6月(4)
- 2016年5月(7)
- 2016年4月(9)
- 2016年3月(4)
- 2016年2月(5)
- 2016年1月(17)
- 2015年12月(15)
- 2015年11月(11)
- 2015年10月(6)
- 2015年9月(11)
- 2015年8月(8)
分类
热门文章
- SpringMVC:Null ModelAndView returned to DispatcherServlet with name 'applicationContext': assuming HandlerAdapter completed request handling
- Mac-删除卸载GlobalProtect
- java.lang.SecurityException: JCE cannot authenticate the provider BC
- MyBatis-Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}
- Idea之支持lombok编译
标签
最新评论
- logisqykyk
Javassist分析、编辑和创建jav... - xxedgtb
Redis—常见参数配置 - 韭菜园 ... - wdgpjxydo
SpringMVC:Null Model... - rllzzwocp
Mysql存储引擎MyISAM和Inno... - dpkgmbfjh
SpringMVC:Null Model... - tzklbzpj
SpringMVC:Null Model... - bqwrhszmo
MyBatis-Improper inl... - 乐谱吧
good非常好 - diaba
@diaba:应该说是“时间的度量依据”... - diaba
如果速度增加接近光速、等于光速、甚至大于...
最新微语
- 在每件事情上花费的东西,就是生命的一部分,而我们花费的这些东西要求立即得到回报,或者在一个长时间以后得到回报。
2025-01-23 15:46
- 诺曼·文森特说:“并不是你认为自己是什么样的人,你就是什么样的人。但是你的思想是什么样,你就是什么样的人。”
2025-01-23 15:44
- 从今天起,做一个幸福的人。喂马,砍柴,(思想)周游世界
2022-03-21 23:31
- 2022.03.02 23:37:59
2022-03-02 23:38
- 几近崩溃后,找到解决方法,总是那么豁然开朗!所以遇到问题要坚持!
2018-07-18 10:49