攻城狮的自我修养
907-子数组的最小值之和 907-子数组的最小值之和
1. 题面给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 10^9 + 7 。 示例 1: 输入:arr = [3,1,2,4]输出:1
862-和至少为k的最短子数组 862-和至少为k的最短子数组
1. 题面给你一个整数数组 nums 和一个整数 k ,找出 nums 中和至少为 k 的 最短非空子数组 ,并返回该子数组的长度。如果不存在这样的 子数组 ,返回 -1 。 子数组是数组中连续的一部分。 示例 1: 输入:nums &#
915-分割数组 915-分割数组
1. 题面给定一个数组 nums ,将其划分为两个连续子数组left和right, 使得: left 中的每个元素都小于或等于 right 中的每个元素。left 和 right 都是非空的。left 的长度要尽可能小。在完成这样的分组后返
区间dp问题 区间dp问题
区间dp概述什么是区间dp 区间dp就是在区间上进行动态规划,求解一段区间上的最优解,其主要的手段是通过合并小区间的最优解进而得出整个大区间上的最优解。 核心思路 如果是要求一个大区间上的最优解,那么就将这区间分割成一个个小区间,求解每个
二叉堆详解实现优先级队列 二叉堆详解实现优先级队列
二叉堆详解实现优先级队列二叉堆(Binary Heap)的主要擦走就两个,sink(下沉)和swim(上浮),用以维护二叉堆的性质,其主要的应用有两个,首先是一种排序方法堆排序,第二种是实现优先级队列 1. 二叉堆概览首先二叉堆在逻辑上其实
最长公共子序列完全解析 最长公共子序列完全解析
1. 纯暴力解法对于一道题而言,我们快速理解题意并进行优化的切入点就是先写出它的暴力解,对于这道题而言,我们可以先尝试写出它的暴力解,思路很明确,就是穷举出两个串的所有子序列,然后两层for比较子序列,遇到相同的就比较长度,从而求出最大长度
3 / 8