首页 > 其他分享 >爱生气的书店老板 二维区域和检索 - 矩阵不可变 元素和为目标值的子矩阵数量

爱生气的书店老板 二维区域和检索 - 矩阵不可变 元素和为目标值的子矩阵数量

时间:2022-11-30 20:11:17浏览次数:86  
标签:customers cur int max sum 矩阵 爱生气 目标值

1052. 爱生气的书店老板

思路,把老板不生气时候的值都加起来,同时让当前值为零
最后,按照最长时间滑动窗口,求解窗口最大值,与上值相加即可
int sum = 0;
for(int i = 0; i < customers.length; i++) {
if(grumpy[i] == 0) {
sum += customers[i];
customers[i] = 0;细节置零
}
}
int left = 0;
int right = minutes - 1;
int max = 0;
while(right < customers.length) {
int cur = 0;
for(int i = left; i <= right; i++) {
cur += customers[i];
}
max = Math.max(max, cur);窗口更新
left++;
right++;
}
return sum + max;


304. 二维区域和检索 - 矩阵不可变

求二维数组的前缀和
以[0,0] 为起点,当前位置为终点的矩阵之和

cur = new int[r + 1][c + 1];
for(int i = 1; i <= r; i++) {
for(int j = 1; j <= c; j++) {
cur[i][j] = cur[i - 1][j] + cur[i][j - 1] - cur[i - 1][j - 1] + matrix[i - 1][j - 1];
}
}


1074. 元素和为目标值的子矩阵数量

求出前缀和
求右下方数值
int r = matrix.length, c = matrix[0].length;
int[][] sum = new int[r + 1][c + 1];
for(int i = 1; i <= r; i++) {
for(int j = 1; j <= c; j++) {
sum[i][j] = sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1] + matrix[i - 1][j - 1];
}
}

    int ans = 0;
    for(int i = 1; i <= r; i++) {
        for(int j = 1; j <= c; j++) {
            for(int x = 1; x <= i; x++) {
                for(int y = 1; y <= j; y++) {
                    if((sum[i][j] - sum[x - 1][j] - sum[i][y - 1] + sum[x - 1][y - 1]) == target) ans++;
                }
            }
        }
    }
    return ans;

标签:customers,cur,int,max,sum,矩阵,爱生气,目标值
From: https://www.cnblogs.com/xtag/p/16939597.html

相关文章

  • 【C语言基础】C语言实现矩阵相乘
    前言最近在考虑如何实现kalman跟踪,其中涉及较多矩阵运算,比如矩阵相乘、矩阵转置等,先实现了一个矩阵相乘的c代码如下。其实,后续可以使用matrix类实现kalman跟踪。code#......
  • 力扣240(java&python)-搜索二维矩阵 II(中等)
    题目:编写一个高效的算法来搜索 m x n 矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例......
  • 螺旋矩阵II-LeetCode59 考验代码能力
    力扣链接:https://leetcode.cn/problems/spiral-matrix-ii/题目  给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 nxn 正方......
  • 蛇形填数(矩阵)
    蛇形填数      在nxn方针里填入1,2,...,nxn,要求填成蛇形。例如:n=4时方阵为:10111219  161328  151437    6  54上面的方阵中,多余的空格只......
  • 【白话模型量化系列一】矩阵乘法量化
    模型量化是模型加速方向一个很重要的方法,主要思想就是用int8数据格式来存储和进行计算。这样做有两点好处:可以减小模型存储的体积。原本float32存储需要4个字节,现在int8存储......
  • 性能测试TPS目标值确定-二八原则
    在性能测试中通常使用二八原则来量化业务需求。二八原则:指80%的业务量在20%的时间里完成。例:如某个公司1000个员工,在周五下午3点-5点有90%的员工登陆公司周报系统则:业务......
  • 每日算法之矩阵中的路径
    JZ12矩阵中的路径描述请设计一个函数,用来判断在一个n乘m的矩阵中是否存在一条包含某长度为len的字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以......
  • 【首发】徐亦达团队新论文推荐:模限界矩阵分解
    徐亦达团队在IEEETransactionsonKnowledgeandDataEngineering的发表了一篇机器学习论文MagnitudeBoundedMatrixFactorisationforRecommenderSystems(模限界矩阵......
  • 二维差分矩阵
    二维差分始终记住对b[i][j]修改会影响a数组中从a[i][j]及往后的每一个数。b[x1][y1]+=c;对应图1,让整个a数组中蓝色矩形面积的元素都加上了c。b[x1][y2+1]-=c;......
  • 动态规划算法图文详解(Kotlin语言):二维矩阵中找到只包含 1 的最大正方形(LeetCode-22
    题目描述在一个由0和1组成的二维矩阵内,找到只包含1的最大正方形,并返回其面积。示例:输入:1010010 ​​​11​​​ 111 ​​​11​​​ 110010输出:4......