成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

LeetCode偶爾一題 —— 832. 翻轉(zhuǎn)圖像

WalkerXu / 651人閱讀

題目描述

分析題目

按照題意我們只要先對(duì)每個(gè)子數(shù)組先做逆序,再做 0 --> 1 和 1 --> 0 的替換即可,于是我們可以寫出以下代碼:

/**
 * @param {number[][]} A
 * @return {number[][]}
 */
var flipAndInvertImage = function(A) {
    for (let i = 0; i < A.length; i++) {
        let j = 0, k = A[i].length - 1
        while (j < k) {
            [A[i][j], A[i][k]] = [A[i][k], A[i][j]]
            A[i][j] = A[i][j] ? 0 : 1
            A[i][k] = A[i][k] ? 0 : 1
            j++, k--
        }
        if (j === k) {
            A[i][j] = A[i][j] ? 0 : 1
        }
    }
    return A
};
優(yōu)化

對(duì)于 0 --> 1 和 1 --> 0 的替換,我們大可不必用三元運(yùn)算符,而是采用異或運(yùn)算,可以把代碼簡化如下:

/**
 * @param {number[][]} A
 * @return {number[][]}
 */
var flipAndInvertImage = function(A) {
    for (let i = 0; i < A.length; i++) {
        let j = 0, k = A[i].length - 1
        while (j < k) {
            [A[i][j], A[i][k]] = [A[i][k], A[i][j]]
            A[i][j] ^= 1
            A[i][k] ^= 1
            j++, k--
        }
        if (j === k) {
            A[i][j] ^= 1
        }
    }
    return A
};
進(jìn)階

仔細(xì)觀察題目中提供的測試用例,我們發(fā)現(xiàn),左右兩個(gè)數(shù)不相等時(shí)可以直接忽略,于是最終版的程序如下:

/**
 * @param {number[][]} A
 * @return {number[][]}
 */
var flipAndInvertImage = function(A) {
    for (let i = 0; i < A.length; i++) {
        let j = 0, k = A[i].length - 1
        while (j < k) {
            if (A[i][j] === A[i][k]) {
                A[i][j] ^= 1
                A[i][k] ^= 1
            }
            j++, k--
        }
        if (j === k) {
            A[i][j] ^= 1
        }
    }
    return A
};

時(shí)間復(fù)雜度O(n * k / 2)

空間復(fù)雜度O(1)

原題地址: https://leetcode-cn.com/probl...
代碼不定時(shí)更新,歡迎 star 我的 repo

掃描下方的二維碼或搜索「tony老師的前端補(bǔ)習(xí)班」關(guān)注我的微信公眾號(hào),那么就可以第一時(shí)間收到我的最新文章。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/109997.html

相關(guān)文章

  • 小李飛刀:做題第十一彈!

    摘要:第五題對(duì)稱二叉樹難度簡單給定一個(gè)二叉樹,檢查它是否是鏡像對(duì)稱的。第十六題最大連續(xù)的個(gè)數(shù)難度簡單給定一個(gè)二進(jìn)制數(shù)組,計(jì)算其中最大連續(xù)的個(gè)數(shù)。第十八題平方數(shù)之和難度簡單給定一個(gè)非負(fù)整數(shù),你要判斷是否存在兩個(gè)整數(shù)和,使得。 寫在前面 最近忙著調(diào)教新裝備,沒有及時(shí)的寫題解,但是沒有在偷懶沒刷題喔~來認(rèn)真整理下最近做的題目~ 之前考慮按tag來刷題,后來收到了推薦的leetcode題解,就根據(jù)上...

    ytwman 評(píng)論0 收藏0
  • 70道前端LeetCode題目集合及視頻講解(持續(xù)更新中...)

    前端LeetCode刷題 下面是已刷的題目的目錄。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,歡迎關(guān)注。 數(shù)組類 26 刪除排序數(shù)組中的重復(fù)項(xiàng) 27 移除元素 35 搜索插入位置 66 加1 80 medium 刪除排序數(shù)組中的重復(fù)項(xiàng)2 88 合并兩個(gè)有序數(shù)組 167 兩數(shù)之和II - 輸入有序數(shù)組 118 楊輝三角 169 easy 求眾數(shù) 1...

    mayaohua 評(píng)論0 收藏0
  • LeetCode偶爾一題 —— 268. 缺失數(shù)字

    摘要:題目描述給定一個(gè)包含中個(gè)數(shù)的序列,找出中沒有出現(xiàn)在序列中的那個(gè)數(shù)。示例輸入輸出示例輸入輸出最簡單的解法剛看到的這道題的時(shí)候,第一感覺就是排序,之后直接挨個(gè)比較就能找到缺失的數(shù)字。 題目描述 給定一個(gè)包含 0, 1, 2, ..., n 中 n 個(gè)數(shù)的序列,找出 0 .. n 中沒有出現(xiàn)在序列中的那個(gè)數(shù)。 示例 1: 輸入: [3,0,1] 輸出: 2 示例 2: 輸入: [9,6,...

    e10101 評(píng)論0 收藏0
  • LeetCode偶爾一題 —— 19. 刪除鏈表的倒數(shù)第N個(gè)節(jié)點(diǎn)(鏈表系列)

    摘要:題目描述給定一個(gè)鏈表,刪除鏈表的倒數(shù)第個(gè)節(jié)點(diǎn),并且返回鏈表的頭結(jié)點(diǎn)。示例給定一個(gè)鏈表和當(dāng)刪除了倒數(shù)第二個(gè)節(jié)點(diǎn)后,鏈表變?yōu)楹唵蔚乃悸酚靡粋€(gè)數(shù)組保存所有的鏈表節(jié)點(diǎn),遍歷完之后可以知道倒數(shù)第個(gè)鏈表節(jié)點(diǎn)。 題目描述 給定一個(gè)鏈表,刪除鏈表的倒數(shù)第 n 個(gè)節(jié)點(diǎn),并且返回鏈表的頭結(jié)點(diǎn)。示例: 給定一個(gè)鏈表: 1->2->3->4->5, 和 n = 2. 當(dāng)刪除了倒數(shù)第二個(gè)節(jié)點(diǎn)后,鏈表變?yōu)?1-...

    Anshiii 評(píng)論0 收藏0
  • LeetCode偶爾一題 —— 39. Combination Sum(回溯算法系列)

    摘要:輸入輸出分析題目由于我們需要找到多個(gè)組合,簡單的使用循環(huán)肯定是不行的,這時(shí)候我們可以使用回溯算法來解決這個(gè)問題。用回溯算法解決問題的一般步驟針對(duì)所給問題,定義問題的解空間,它至少包含問題的一個(gè)最優(yōu)解。 題目描述 Given a set of candidate numbers (candidates) (without duplicates) and a target number ...

    linkin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<