上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 32 下一页
摘要: 二进制矩阵,可以选择任意位置进行反转,其周围格子也会跟着反转 求使得矩阵全为0的最少反转次数 ###1. 广度优先搜索 将每个状态转化为字符串进行存储,方便剪枝和压缩 ``` class Solution { public: int m; int n; vector> dir = {{0,0},{1 阅读全文
posted @ 2023-05-27 02:41 失控D大白兔 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 给一系列顶点,计算这些点能组成矩形的最小面积 ###1. 最小面积矩形(列举对角线+哈希) **矩形的边平行于x轴和y轴** 通过双重循环列举对角线顶点,计算满足条件的矩形面积 ``` class Solution { public: int minAreaRect(vector>& points) 阅读全文
posted @ 2023-05-25 20:39 失控D大白兔 阅读(27) 评论(0) 推荐(0) 编辑
摘要: ###一. 基础进阶 ####1. const作用 ``` //定义常量,相比define的字符替换,具有类型安全检测功能,从汇编角度提供的是地址而不是立即数 const int a = 100; //在函数中防止修改,提高程序健壮性 void f(const int i){ i++; }// er 阅读全文
posted @ 2023-05-25 00:05 失控D大白兔 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 一个数组的分数定义为数组之和乘以数组的长度 ###1. 前缀和 + 二分 ``` class Solution { public: long long countSubarrays(vector& nums, long long k) { //注意是正整数数组 int n = nums.size() 阅读全文
posted @ 2023-05-24 19:26 失控D大白兔 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 将数组分为三个部分,每部分对应二进制数值相同 ###1. 三指针 各部分1的数目应当相同,借助这个性质来找三个指针的起始位置 根据最后一个指针起始位置确定串的长度,逐位比较即可 ``` class Solution { public: vector threeEqualParts(vector& a 阅读全文
posted @ 2023-05-24 18:49 失控D大白兔 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 在一颗无向树上青蛙从顶点1起跳,问T秒后停留在目标位置的概率 ###1. 深度优先搜索 问题规模可以进一步递归拆分,概率等于下一个节点到目标概率的平均值 ``` class Solution { public: double frogPosition(int n, vector>& edges, i 阅读全文
posted @ 2023-05-24 01:10 失控D大白兔 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 给你一个n节点的无向带权连通图,同时告诉你边的端点和权值 对于部分权为-1的边,可以进行修改为任意值,最后使得初始点到目标点最短距离为target ###1. Dijkstra 第一次使用迪杰斯特拉算法,将所有能修改的权值视作1,计算到各点的最短距离 判断该距离是否有操作空间,满足要求的情况下计算要 阅读全文
posted @ 2023-05-23 01:35 失控D大白兔 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 给你一棵以 root 为根的 二叉树 ,请你返回任意二叉搜索子树的最大键值和 ###1. 中序遍历+记录多个返回值 ``` class Solution { public: //求子树键值需要后序遍历,判断二叉搜索树需要中序遍历 //判断二叉树也可以用判断左右值加中序遍历的方式,所以这里采用中序遍历 阅读全文
posted @ 2023-05-21 23:00 失控D大白兔 阅读(11) 评论(0) 推荐(0) 编辑
摘要: **模板** ``` int n = nums.size(); vector left(n, -1); //贡献法记录左辖域,开区间 vector right(n, n); //贡献法记录右辖域,开区间 stack st; //单调栈,降序记录 for(int i=0;i 单调栈+前缀和 ``` c 阅读全文
posted @ 2023-05-19 21:02 失控D大白兔 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 总力量定义为以下两个值的 乘积: 巫师中最弱的能力值 组中所有巫师的个人力量值之和 ###1. 单调栈+前缀和+前缀和 根据单调栈求得每一个值的辖域(当前值为最小值的最长数组范围) 接下来问题就转化成了求在辖域中包含当前值所有子数组的和 求和我们采用前缀和的方式 > 对于abcde,假设c为当前辖域 阅读全文
posted @ 2023-05-19 21:01 失控D大白兔 阅读(23) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 32 下一页