zoukankan      html  css  js  c++  java
  • [Swift]LeetCode1252. 奇数值单元格的数目 | Cells with Odd Values in a Matrix

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(let_us_code)
    ➤博主域名:https://www.zengqiang.org
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/11831506.html
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    Given n and m which are the dimensions of a matrix initialized by zeros and given an array indices where indices[i] = [ri, ci]. For each pair of [ri, ci] you have to increment all cells in row ri and column ci by 1.

    Return the number of cells with odd values in the matrix after applying the increment to all indices.

    Example 1:

    Input: n = 2, m = 3, indices = [[0,1],[1,1]]
    Output: 6
    Explanation: Initial matrix = [[0,0,0],[0,0,0]].
    After applying first increment it becomes [[1,2,1],[0,1,0]].
    The final matrix will be [[1,3,1],[1,3,1]] which contains 6 odd numbers.
    

    Example 2:

    Input: n = 2, m = 2, indices = [[1,1],[0,0]]
    Output: 0
    Explanation: Final matrix = [[2,2],[2,2]]. There is no odd number in the final matrix.

    Constraints:

    • 1 <= n <= 50
    • 1 <= m <= 50
    • 1 <= indices.length <= 100
    • 0 <= indices[i][0] < n
    • 0 <= indices[i][1] < m

    给你一个 n 行 m 列的矩阵,最开始的时候,每个单元格中的值都是 0

    另有一个索引数组 indicesindices[i] = [ri, ci] 中的 ri 和 ci 分别表示指定的行和列(从 0 开始编号)。

    你需要将每对 [ri, ci] 指定的行和列上的所有单元格的值加 1

    请你在执行完所有 indices 指定的增量操作后,返回矩阵中 「奇数值单元格」 的数目。

    示例 1:

    输入:n = 2, m = 3, indices = [[0,1],[1,1]]
    输出:6
    解释:最开始的矩阵是 [[0,0,0],[0,0,0]]。
    第一次增量操作后得到 [[1,2,1],[0,1,0]]。
    最后的矩阵是 [[1,3,1],[1,3,1]],里面有 6 个奇数。
    

    示例 2:

    输入:n = 2, m = 2, indices = [[1,1],[0,0]]
    输出:0
    解释:最后的矩阵是 [[2,2],[2,2]],里面没有奇数。

    提示:

    • 1 <= n <= 50
    • 1 <= m <= 50
    • 1 <= indices.length <= 100
    • 0 <= indices[i][0] < n
    • 0 <= indices[i][1] < m

    Runtime: 16 ms
    Memory Usage: 20.9 MB
     1 class Solution {
     2     func oddCells(_ n: Int, _ m: Int, _ indices: [[Int]]) -> Int {
     3         var row:[Int] = [Int](repeating: 0, count: n)
     4         var col:[Int] = [Int](repeating: 0, count: m)
     5         for idx in indices
     6         {
     7             row[idx[0]] ^= 1// if row idx[0] appears odd times, it will correspoind to true.
     8             col[idx[1]] ^= 1 // if column idx[1] appears odd times, it will correspoind to true.
     9         }
    10         var cnt:Int = 0
    11         for i in 0..<n
    12         {
    13             for j in 0..<m
    14             {
    15                 cnt += (row[i] ^ col[j]) != 0 ? 1 : 0; // only cell (i, j) with odd times count of row + column would get odd values.
    16             }
    17         }
    18         return cnt
    19     }
    20 }
  • 相关阅读:
    char 型变量中能不能存贮一个中文汉字,为什么?
    抽象类(abstract class)和接口(interface)有什么异同?
    描述一下JVM加载class文件的原理机制?
    重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
    String和StringBuilder、StringBuffer的区别?
    此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
    是否可以继承String类?
    两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
    laraval join 的理解
    whereHasIn方法
  • 原文地址:https://www.cnblogs.com/strengthen/p/11831506.html
Copyright © 2011-2022 走看看