一道简单,两道中等,一道难题
[简单]
给定一个整数数组:
- 如果 偶数索引(0、2、4 …)位置上的整数之和大于 奇数索引(1、3、5 …)位置上的整数之和,返回
"EVEN"
; - 如果奇数索引之和更大,返回
"ODD"
; - 若两者相等,则返回
"EQUAL"
。
[中等]
给定一个整数矩阵,求最长对角线(主对角线和副对角线都算)中满足以下模式的长度:1, 2, 0, 2, 0, …
,即索引 0 处是 1,之后 2 与 0 交替出现。
PS: 主对角线、副对角线都要考虑。
[中等]
已知四个长度为 N
的数组 wins
、draws
、scored
、conceded
。
wins[i]
表示第i
支球队的胜场数;draws[i]
表示平局数;scored[i]
表示进球数;conceded[i]
表示丢球数(说实话我也不确定 conceded 的确切含义)。
计分规则:
- 每场胜利得 3 分;
- 每场平局得 1 分。
任务:找出 得分最高 和 第二高 的球队索引。如果总分相同,则比较 scored[i] - conceded[i]
的差值来打破平分。
示例:
wins : [1, 2, 3]
draws : [1, 1, 1]
scored : [10, 20, 30]
conceded: [12, 23, 12]
球队 0 的分数 = 13 + 11 = 4
球队 1 的分数 = 23 + 11 = 7
球队 2 的分数 = 33 + 11 = 10
返回 {2, 1}
PS: 如果球队积分相同,用
scored[i] - conceded[i]
来决定高低。
[困难]
给定矩阵的 rows
、cols
,以及一个列表,列出值为 1 的所有单元格坐标(其余单元格值为 0)。
输出一个长度为 5 的向量,第 i
个元素表示拥有 i 个 1 的 2×2 子矩阵 的数量。
约束:
2 ≤ rows ≤ 1e5
2 ≤ cols ≤ 1e5
PS: 不能暴力检查所有 2×2 子矩阵,否则会超时 (TLE)。