BM43 包含min函数的栈

摘要: 描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。 此栈包含的方法有: push(value):将value压入栈中 pop():弹出栈顶元素 top():获取栈顶元素 min():获取栈中最 阅读全文
posted @ 2022-09-23 14:46 somedieyoung-navi 阅读(15) 评论(0) 推荐(0) 编辑

BM42 用两个栈实现队列

摘要: 描述 用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。 数据范围: n\le1000n≤1000 要求:存储n个元素的空间复杂度为 O(n)O(n)  阅读全文
posted @ 2022-09-22 23:49 somedieyoung-navi 阅读(29) 评论(0) 推荐(0) 编辑

BM31对称二叉树(判断二叉树是否symmetric?)(递归)

摘要: 描述 给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)例如: 下面这棵二叉树是对称的下面这棵二叉树不对称。 数据范围:节点数满足 0 \le n \le 10000≤n≤1000,节点上的值满足 |val| \le 1000∣val∣≤1000 要求:空间复杂度 O(n)O(n),时间复杂度  阅读全文
posted @ 2022-09-22 19:39 somedieyoung-navi 阅读(16) 评论(0) 推荐(0) 编辑

BM28 二叉树的最大深度

摘要: (递归)import java.util.*; /* public class TreeNode { public class Solution { public int maxDepth(TreeNode root) { return root==null? 0 : Math.max(maxDep 阅读全文
posted @ 2022-09-22 16:59 somedieyoung-navi 阅读(18) 评论(0) 推荐(0) 编辑

bm95最小化奖励问题(分糖果问题)

摘要: 描述 一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下: 1. 每个孩子不管得分多少,起码分到一个糖果。 2. 任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果。(若相同则无此限制) 给定一个数组 arrarr 代表得分数组,请返回最少需要多少糖果。 要求: 时间复杂度为 O(n)O(n 阅读全文
posted @ 2022-09-20 00:21 somedieyoung-navi 阅读(29) 评论(0) 推荐(0) 编辑

BM96 主持人调度(二)

摘要: 描述 有 n 个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 阅读全文
posted @ 2022-09-19 17:04 somedieyoung-navi 阅读(68) 评论(0) 推荐(0) 编辑

jz42连续字数的最大和(动态规划,贪心)

摘要: public class solution{ public int maxOfSubarray(int[] array){ int[]dp=new int[array.length]; dp[0]=array[0]; int max=array[0]; for(int i=0,i<array.len 阅读全文
posted @ 2022-09-18 20:58 somedieyoung-navi 阅读(13) 评论(0) 推荐(0) 编辑

HJ86 求最大连续bit数

摘要: 描述 求一个int类型数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 解 import java.util.*; public class Main { public static void main(String args[]) { Scanner in = 阅读全文
posted @ 2022-09-15 21:26 somedieyoung-navi 阅读(19) 评论(0) 推荐(0) 编辑