摘要: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例 1: 输入:root = [3,5,1,6,2 阅读全文
posted @ 2021-09-05 16:33 sherry001 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 3个字符串str1,str2,-->aim 这个是一个做行,一个做列的模型str1 1 2 3 4 str2 a b c d aim a 1 2 3 b c 4 d 1 2 3 a b c d 4 以上都是str1,str2的交错组成 判段aim是否str1,str2的交错组成 1、先判段长度是否是 阅读全文
posted @ 2021-09-05 16:32 sherry001 阅读(29) 评论(0) 推荐(0) 编辑
摘要: /** * * @param n 总共N个位置 1~n * @param index 从index位置开始 * @param k 走k步 * @param p 目标 * @return 从index位置开始走k步到达p的方法数 */ public static int getWalkWays(int 阅读全文
posted @ 2021-09-05 16:31 sherry001 阅读(18) 评论(0) 推荐(0) 编辑
摘要: public class MoneyWays { /** * 面值为:3,5,7,1 f * 每个面值可以用无数张 * 100 * 从左往右尝试 * f(index,res) * 0张3元的 f(index+1,res)+ * 1张3元的 f(index+1,res-3*1)+ * 33...... 阅读全文
posted @ 2021-09-05 16:29 sherry001 阅读(19) 评论(0) 推荐(0) 编辑
摘要: public static int getWin(int[] arr){ return Math.max(f(arr,0,arr.length-1),s(arr,0,arr.length-1)); } public static int f(int[] arr,int l,int r){ //只有一 阅读全文
posted @ 2021-09-05 16:25 sherry001 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 假如数组中无重复值 准备一个栈:保证栈是单调递增的, 3->1要入栈,但是不满单调递增了,没法直接入栈,栈要开始弹出,直到1可以进来当一个位置开始从栈里弹出的时候,开始收集它的位置比如2->7要弹出了,那么有关2位置的7,左右侧离它最近的比它小的开始生成左侧离它最近的比它小的是1->6(它底下压的谁 阅读全文
posted @ 2021-09-05 16:03 sherry001 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 窗口:是一种运动轨迹,一种运动策略 L,R:可以选择让L往右,或让R往右,但L不能越过R 3,2,1,5,6,5,6,7,2,3,7 0 1 2 3 4 5 6 7 8 9 10 L R R R R 3 2 1 5 L 2 1 5 R 你可以根据你自己的策略让L或R往右动,但是不要违反L<=R 每一 阅读全文
posted @ 2021-09-05 11:23 sherry001 阅读(108) 评论(0) 推荐(0) 编辑