做oj好还是做leetcode好_序列的子序列

做oj好还是做leetcode好_序列的子序列给出矩阵 matrix 和目标值 target,返回元素总和等于目标值的非空子矩阵的数量。子矩阵 x1, y1, x2, y2 是满足 x1 <= x <= x2 且 y1 <= y <= y2 的所有单元 matrix[x][y] 的集合。如果 (x1, y1, x2, y2) 和 (x1’, y1’, x2’, y2’) 两个子矩阵中部分坐标不同(如:x1 != x1’),那么这两个子矩阵也不同。示例 1:输入:matrix = [[0,1,0],[1,1,1],

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给出矩阵 matrix 和目标值 target,返回元素总和等于目标值的非空子矩阵的数量。

子矩阵 x1, y1, x2, y2 是满足 x1 <= x <= x2 且 y1 <= y <= y2 的所有单元 matrix[x][y] 的集合。

如果 (x1, y1, x2, y2) 和 (x1’, y1’, x2’, y2’) 两个子矩阵中部分坐标不同(如:x1 != x1’),那么这两个子矩阵也不同。
在这里插入图片描述

示例 1:



输入:matrix = [[0,1,0],[1,1,1],[0,1,0]], target = 0
输出:4
解释:四个只含 0 的 1x1 子矩阵。
示例 2:

输入:matrix = [[1,-1],[-1,1]], target = 0
输出:5
解释:两个 1x2 子矩阵,加上两个 2x1 子矩阵,再加上一个 2x2 子矩阵。
示例 3:

输入:matrix = [[904]], target = 0
输出:0
 

提示:

1 <= matrix.length <= 100
1 <= matrix[0].length <= 100
-1000 <= matrix[i] <= 1000
-10^8 <= target <= 10^8
class Solution { 
   
public:
    void re(vector<int> &a){ 
   
        for(auto &w : a)w = 0;
    }
    int numSubmatrixSumTarget(vector<vector<int>>& matrix, int target) { 
   
        int n = matrix.size(),m = matrix[0].size();
        vector<int>cols(m,0);
        unordered_map<int,int>mm;
        int ans = 0;
        vector<int>s(m + 1,0);
        for(int i = 0;i < n;i ++){ 
   
            re(cols);
            re(s);
            for(int j = i;j < n;j ++){ 
   
                mm.clear();
                mm[0] = 1;
                for(int k = 1;k <= m;k ++){ 
   
                    cols[k - 1] += matrix[j][k - 1];
                    s[k] = s[k - 1] + cols[k - 1];
                }
                for(int k = 1;k <= m;k ++){ 
   
                    ans += mm[s[k] - target];
                    if(!mm.count(s[k]))mm[s[k]] = 0;
                    mm[s[k]] ++;
                }
            }
        }
        return ans;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168545.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 两、三级联动菜单,简单的实现(2)

    两、三级联动菜单,简单的实现(2)

    2022年1月9日
    37
  • yuv420格式(微信图片存储路径)

    网上大多数关于YUV420的资料都是关于YUV420P的,很少有YUV420SP的,因为YUV420SP的UV是交错存放的,处理起来相对麻烦点,但是YUV420SP也是一种常见格式,因此,在这里,我将关于YUV420SP格式数据的处理总结下,方便有需要的同志。一、YUV420格式数据介绍YUV,分为三个分量,“Y”表示明亮度,也就是灰度值;“U”和”V”表示的则是色度,作用是描述影

    2022年4月12日
    104
  • UML时序图总结

    UML时序图总结序列图主要用于展示对象之间交互的顺序。  序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。  消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。   序列图中涉及的元素:  1. 生命线:

    2022年6月24日
    37
  • Visual Studio——使用多字节字符集与使用Unicode字符集

    Visual Studio——使用多字节字符集与使用Unicode字符集vs配置选项“使用多字节字符集”和“使用Unicode字符集”的区别VS集成开发环境,字符集选择“使用多字节字符集”和“使用Unicode字符集”的直接区别就是:编译器是否增加了宏定义——UNICODE。当选择“使用Unicode字符集”时,编译器会增加宏定义——UNICODE;而选择“使用多字节字符集”时,编译器则不会增加宏定义——UNICODE。而是否增加了宏定义UNICODE,则…

    2025年8月15日
    3
  • 我的第一款app

    上周末,也就是儿童节期间,窝在宿舍里敲了两天的代码,终于算是弄好了这个小游戏,虽然很简陋,被评为”看起来只需要一百行代码吧”,但确实消耗了我不少精力,成功消灭最后一个bug的时候,那种心情是无法言语的,兴奋激动.真的很高兴.地址贴上来,感兴趣的下了玩玩吧. 沙皮龙工作室 欢迎志同道合的孩子加入.虽然现在只我一人.我的第一款app地址最近几天考试继踵而至,数据结构,英语六级,还有通信原理

    2022年3月9日
    52
  • wordpress自定义搜索

    wordpress自定义搜索默认下,wordpress的搜索范围只有文章的标题和文章内容,无法搜索自定义字段中的内容,现实情况是很多情况下我们可能会要搜索自定义字段中的内容。如果只是想搜索一到两个自定义字段中的内容,可以使用wordpress的内置函数meta_query变量。12345678910111213141516171

    2022年7月14日
    72

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号