摘要: 题目链接:LeetCode 213 打家劫舍II 题目大意: 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 阅读全文
posted @ 2022-02-03 22:19 ZZHHOOUU 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 题目链接:LeetCode 232 用栈实现队列 题目大意: 题解: 将一个栈当作输入栈,用于压入$push$传入的数据;另一个栈当作输出栈,用于$pop$和$peek$操作。 每次$pop$或$peek$时,若输出栈为空则将输入栈的全部数据依次弹出并压入输出栈,这样输出栈从栈顶往栈底的顺序就是队列 阅读全文
posted @ 2022-02-03 22:00 ZZHHOOUU 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题目链接:LeetCode 525 连续数组 题目大意: 给定一个二进制数组$nums$,找到含有相同数量的$0$和$1$的最长连续子数组,并返回该子数组的长度。 题解: 将$0$换作$-1$,则问题变为求最长的连续子数组,其元素和为$0$。 首先计算数组的前缀和,设$preSum[j] - pre 阅读全文
posted @ 2022-02-03 20:57 ZZHHOOUU 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 题目链接:LeetCode 679 24点游戏 题目大意: 给定四个数,判断是否可以通过加减乘除和括号计算出$24$点。 题解: 一共有$4$个数和$3$个运算操作,因此可能性非常有限。 首先从$4$个数字中有序地选出$2$个数字,共有$4 \times 3 = 12$种选法,并选择加、减、乘、除$ 阅读全文
posted @ 2022-02-03 20:37 ZZHHOOUU 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 题目链接:LeetCode 152 乘积最大子数组 题目大意: 给你一个整数数组$nums$,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 题解: 由于数组中存在负数,所以需要同时记录当前最大值和当前最小值。 设$maxAns[i]$表示以第$i$个 阅读全文
posted @ 2022-02-03 13:01 ZZHHOOUU 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 题目链接:LeetCode 862 和至少为K的最短子数组 题目大意: 给你一个整数数组$nums$和一个整数$k$,找出$nums$中和至少为$k$的最短非空子数组,并返回该子数组的长度。如果不存在这样的子数组,返回$-1$。 子数组是数组中连续的一部分。 题解: 由于数组中可能出现负数,所以尺取 阅读全文
posted @ 2022-02-03 12:42 ZZHHOOUU 阅读(42) 评论(0) 推荐(0) 编辑