题目答案
C
题目解析
32 位 IP 地址中的 4 段数据均为八位二进制数,因此每段数字的范围均在 0 ~ 255。
题目答案
填空位置 ①:
[1][1]
填空位置 ②:
rowsum[i][0]=0;
填空位置 ③:
rowsum[i][j-1]+matrix[i][j]
填空位置 ④:
area=0
填空位置 ⑤:
rowsum[i][last]-rowsum[i][first-1]
题目解析
本题解决最大子矩阵和所用的算法:计算数组rowsum
;枚举子矩阵的左边界first
和右边界last
,将原问题转化为求解一维的最大子段和问题,用贪心法即可解决。
①因为所求最大子矩阵和所涉及的子矩阵不能为空,必须有一个初值,所以我们需要将ans
设置为矩阵的左上角元素,也就是 [1][1][1][1],取其他单元格的值也可以;
②因为后面要求每行前缀和,所以需要将 00 列清零,用于之后的统计;
③求当前行到当前列的前缀和,使用前缀和的方法统计每行的sum
值;
④从first
列到last
列之间求最大子段和,需要将当前的值初始化为 00;
⑤这里求第i
行的first
列到last
列之间的数值和,这里采用前缀和方法来加速计算过程。
题目答案
B
题目解析
找到刚好比100大的2的n次方这个数,n为最少步数,此题为7
(2的 10次方为1024)