Linecode的做题答案

和为零的子矩阵

 1 class Solution {
 2 public:
 3     /**
 4      * @param matrix an integer matrix
 5      * @return the coordinate of the left-up and right-down number
 6      */
 7 vector<vector<int>> submatrixSum(vector<vector<int>>& matrix) {
 8     // Write your code here
 9     vector<vector<int>> a;
10     int y = matrix.size();
11     int x = matrix[0].size();
12     for (int yy = 1; yy != y + 1; yy++) { //1到y层的阶
13         for (int xx = 1; xx != x + 1; xx++) { //1到x层的阶
14             int n = (x - xx + 1)*(y - yy + 1);
15             int row = -1;
16             for (int w = 0; w != n; w++) { //此阶的所有遍历次数
17                 if (row == x - xx)
18                     row = -1;
19                 row++;
20                 int sum = 0;
21                 int s = -1;
22                 for (size_t first = w/(x - xx + 1); first != w/(x - xx + 1) + yy; first++) { //外左循环
23                     s++;
24                     int ss = -1;
25                     for (size_t seconds = row; seconds != row + xx; seconds++) { //内循环
26                         ss++;
27                         sum = sum + matrix[first][seconds];
28                         if (s == 0 && ss == 0) {
29                             a.push_back({first, seconds});
30                         }
31                         if (s == yy -1 && ss == xx -1 && sum == 0) {
32                             a.push_back({first, seconds});
33                             return a;
34                         }
35
36                     }
37                 }
38                 a.erase(--a.end());
39             }
40         }
41     }
42 }
43 };
时间: 2024-07-31 07:05:24

Linecode的做题答案的相关文章

做题神器风靡:在线教育虚火旺盛的罪魁祸首是谁?

在线教育的巨大潜力有目共睹,不管是创业者还是巨头都纷纷杀入其中.在线教育本身囊括的范围极其广阔,从胎教.学龄前教育.中小学教育.高等教育,再到职业教育,乃至细分化的英语教育.技能教育等,构成一个完整的教育生态圈.但让人无奈的是,国内在线教育最火爆的却还是中小学教育. 而且由于国内教育体系本身存在的弊端,导致中小学教育主要以书山题海为工具,向高分发起追逐.在这样的大背景下,在线教育最火爆的是各种做题神器App.做题神器的风靡,让整个在线教育行业看起来形势一片大好.然而,做题神器真的就是解决在线教育

长对话做题规律

一.规律 1.题目与答案来源按照顺序分配,偶尔发生邻近错位: 2.对于大多数题目,都可以按照听啥选啥的原则,当所有选项都听到了,就按照3的方法: 3.做题三大规律:1)重复即所得 2)最后即所得 3)所听即所得 ,注意先后顺序 4.必须通过ABCD预判问题 5.注意个题目之间的逻辑和前后的一致性. 二.策略 1.历年真题反复听,注意对标志词的关注. 2.多记四级单词.

CQUOJ D. 会做题的兔兔

D. 会做题的兔兔 Time Limit: 2000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: Main Submit Status 大家都听说梅小姐喂养了很多兔兔.梅小姐的兔兔超级萌.超级听话,经常能帮助梅小姐AC题目. 有一天,梅小姐给兔兔们一个数字,然后命令兔兔们去寻找有多少个不同的集合满足集合内的元素相加等于这个数字,并且兔兔们找的每个数都只能是2的k次幂. 比如: 梅小姐给了

屏蔽Codeforces做题时的Problem tags提示

当在Codeforces上做题的时,有时会无意撇到右侧的Problem tags边栏,但是原本并不希望能够看到它. 能否把它屏蔽了呢?答案是显然的,我们只需要加一段很短的CSS即可. span.tag-box{ display: none; } 这样,当这段CSS生效时,标签将会变成如下所示的样子. 这样目的就达到了. 那么,如何将CSS应用到浏览器中使其生效呢?对于不同的浏览器有不同的方法.下面以主流浏览器为例. 对于Safari,将上述代码另存为.css文件,然后在偏好设置->高级->样式

做题细节

1. 如果题目是枚举的话,即最后化成十分简单的形式比较小, 可以直接将各种不同状态的结果运算过程写出来,但是这并不见得比写函数要快多少 而且比较容易出错,比如下标没有更改之类,这种错误比较烦人,因为你会查看算法, 但是算法本身并没有错误,所以如果复制粘贴的话,注意不同情况的不同点,如果自己 不够细心,最好写成函数的形式(注意判断边界),以防出错.//16:35 2004-4-17 2. 在编程之后检查的第一件事就是初始化, 你的初始化也许写在循环体之外,故只能AC一组测试数据,sample. /

FFT/NTT做题方法与调试技巧(+提高码题效率的一些想法)

(其实本文应该写成了"结合FFT讨论的调试技巧+码题方法",语文不好一写文章就偏题QAQ) 有意见欢迎提出,有遗漏欢迎补充! FFT(快速傅里叶变换)/NTT(数论变换)是卷积运算常见而实用的优化 但是FFT/NTT的处理过程并不像暴力运算(差不多是多项式乘法)那样能够直观地反映卷积结果的实时变化. 因此在使用FFT时将会或多或少地加大调试的难度. 如果调试程序时直接跟踪变量,每步手算结果比对,不仅会耽误大量时间,而且效果可能并不理想. 直接肉眼查错效率可能也不太高. 但也正由于FFT

华为网络技术大赛模拟题答案详解

华为网络技术大赛模拟题答案详解 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51354514 一.判断题 (1)VLSM的作用是:在有类的IP地址基础上,从主机位部分划分出相应的位数做为网络位.但是在路由器上部署时,需要路由协议的支持. [解释]对,VLSM=Variable Length Subnet Mask,可变长子网掩码 (2)有效的沟通是任何组织和任何项目的基础,项目经理可以花90%或者更多的时间在沟通这方

project euler做题记录

ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{array}{c} S(n) & = & \sum_{i = 1} ^ n \sum_{p = 1} ^ i \sum_{q = p + 1} ^ i \frac {1}{pq}[p + q \geq i][gcd(p, q) = 1] \& = & \sum_{i = 1} ^

退役前的做题记录5.0

退役前的做题记录5.0 出于某种原因新开了一篇. [CodeChef]Querying on a Grid 对序列建立分治结构,每次处理\((l,mid,r)\)时,以\(mid\)为源点建立最短路树,这样跨越\(mid\)的点对之间的最短路一定会经过\(mid\),因此两点之间的最短路径就可以描述成最短路树上的两段到根路径.对每棵最短路树处理\(dfs\)序,用树状数组维护权值修改即可. [Wannafly挑战赛4F]线路规划 类似SCOI2016萌萌哒一题,并查集\(f_{i,j}\)表示从