最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ LeetCode1812判斷國(guó)際象棋棋盤格子顏色

 更新時(shí)間:2022年12月16日 14:16:23   作者:LetMeFly  
這篇文章主要為大家介紹了C++ LeetCode1812判斷國(guó)際象棋棋盤格子顏色, 有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1812.判斷國(guó)際象棋棋盤中一個(gè)格子的顏色

力扣題目鏈接:leetcode.cn/problems/de…

給你一個(gè)坐標(biāo) coordinates ,它是一個(gè)字符串,表示國(guó)際象棋棋盤中一個(gè)格子的坐標(biāo)。下圖是國(guó)際象棋棋盤示意圖。

如果所給格子的顏色是白色,請(qǐng)你返回 true,如果是黑色,請(qǐng)返回 false 。

給定坐標(biāo)一定代表國(guó)際象棋棋盤上一個(gè)存在的格子。坐標(biāo)第一個(gè)字符是字母,第二個(gè)字符是數(shù)字。

示例 1:

輸入:coordinates = "a1"
輸出:false
解釋:如上圖棋盤所示,"a1" 坐標(biāo)的格子是黑色的,所以返回 false 。

示例 2:

輸入:coordinates = "h3"
輸出:true
解釋:如上圖棋盤所示,"h3" 坐標(biāo)的格子是白色的,所以返回 true 。

示例 3:

輸入:coordinates = "c7"
輸出:false

提示:

  • coordinates.length == 2
  • 'a' <= coordinates[0] <= 'h'
  • '1' <= coordinates[1] <= '8'

方法一:取模

其實(shí)不難發(fā)現(xiàn),a1a3、a5是黑色,a2a4是白色,b2是黑色

我們把a ~ h映射為0 ~ 7,把1 ~ 8也映射為0 ~ 7,此時(shí)我們就能發(fā)現(xiàn),當(dāng)字母映射成的數(shù)字和數(shù)字映射成的數(shù)字的奇偶性相同時(shí),格子為黑色。

因此,我們只需要判斷字母 - 'a'數(shù)字 - '1'的奇偶性是否相同,若不同則為白色,返回true

  • 時(shí)間復(fù)雜度O(1)
  • 空間復(fù)雜度O(1)

AC代碼

C++

class Solution {
public:
    bool squareIsWhite(string coordinates) {
        return (coordinates[0] - 'a') % 2 != (coordinates[1] - '1') % 2;
    }
};

方法二:基于方法一的小改進(jìn)

方法一中我們令字母減'a'令數(shù)字減'1',然后判斷二者奇偶性是否相同。

方法二中我們對(duì)此做一個(gè)小小的優(yōu)化:

a的ASCII碼是97,1的ASCII碼是49,二者本來(lái)奇偶性就相同。

因此,在方法二中,我們可以“字母不減'a'”了,“數(shù)字也不減'1'”了,直接判斷字母和數(shù)字的奇偶性是否相同即可

  • 時(shí)間復(fù)雜度O(1)
  • 空間復(fù)雜度O(1)

AC代碼

C++

class Solution {
public:
    bool squareIsWhite(string coordinates) {
        return coordinates[0] % 2 != coordinates[1] % 2;
    }
};

方法二相比于方法一少了兩次減法運(yùn)算。

以上就是C++ LeetCode1812判斷國(guó)際象棋棋盤格子顏色的詳細(xì)內(nèi)容,更多關(guān)于C++ 判斷棋盤格子顏色的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Linux中使用C語(yǔ)言實(shí)現(xiàn)基于UDP協(xié)議的Socket通信示例

    Linux中使用C語(yǔ)言實(shí)現(xiàn)基于UDP協(xié)議的Socket通信示例

    這篇文章主要介紹了Linux中使用C語(yǔ)言實(shí)現(xiàn)基于UDP協(xié)議的socket通信示例,服務(wù)器端與客戶端的功能都非?;A(chǔ),需要的朋友可以參考下
    2016-03-03
  • C++中vector和數(shù)組之間的轉(zhuǎn)換及其效率問題詳解

    C++中vector和數(shù)組之間的轉(zhuǎn)換及其效率問題詳解

    c++?vector轉(zhuǎn)數(shù)組是一種將vector容器的元素轉(zhuǎn)換為數(shù)組的方法,主要能幫助提高程序的性能和效率,下面這篇文章主要給大家介紹了關(guān)于C++中vector和數(shù)組之間的轉(zhuǎn)換及其效率問題的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • json格式解析和libjson的用法介紹(關(guān)于cjson的使用方法)

    json格式解析和libjson的用法介紹(關(guān)于cjson的使用方法)

    下面小編就為大家?guī)?lái)一篇json格式解析和libjson的用法介紹(關(guān)于cjson的使用方法)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2016-12-12
  • 基于C++泛型編程職工管理系統(tǒng)

    基于C++泛型編程職工管理系統(tǒng)

    這篇文章主要介紹了基于C++泛型編程職工管理系統(tǒng),前面介紹到了C++的泛型編程,并實(shí)現(xiàn)了萬(wàn)能容器,不過那使用的是數(shù)組,今天呢咱帶大家實(shí)踐一下使用泛型技術(shù),結(jié)合單鏈表實(shí)現(xiàn)一個(gè)職工管理系統(tǒng),需要的朋友可以參考一下
    2022-02-02
  • 深入解析Linux下\r\n的問題

    深入解析Linux下\r\n的問題

    本篇文章是對(duì)Linux下\r\n的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語(yǔ)言實(shí)現(xiàn)圖書館管理系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)圖書館管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)圖書館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Vscode搭建遠(yuǎn)程c開發(fā)環(huán)境的圖文教程

    Vscode搭建遠(yuǎn)程c開發(fā)環(huán)境的圖文教程

    很久沒有寫C語(yǔ)言了,今天抽空學(xué)習(xí)下C語(yǔ)言知識(shí),接下來(lái)通過本文給大家介紹Vscode搭建遠(yuǎn)程c開發(fā)環(huán)境的詳細(xì)步驟,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-11-11
  • C基礎(chǔ) 尋找隨機(jī)函數(shù)的G點(diǎn)詳解

    C基礎(chǔ) 尋找隨機(jī)函數(shù)的G點(diǎn)詳解

    下面小編就為大家?guī)?lái)一篇C基礎(chǔ) 尋找隨機(jī)函數(shù)的G點(diǎn)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2016-06-06
  • C語(yǔ)言實(shí)現(xiàn)家庭理財(cái)系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)家庭理財(cái)系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)家庭理財(cái)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評(píng)論

澎湖县| 重庆市| 太谷县| 垦利县| 汤阴县| 石嘴山市| 桃园县| 汉川市| 安远县| 新巴尔虎右旗| 庄浪县| 雷波县| 台安县| 屯门区| 株洲县| 游戏| 彰化市| 长顺县| 茌平县| 光泽县| 农安县| 曲松县| 建湖县| 塔河县| 阳春市| 来凤县| 晋江市| 泉州市| 公安县| 台江县| 离岛区| 修武县| 绵阳市| 吴忠市| 化德县| 黔西县| 文登市| 库尔勒市| 江门市| 航空| 新民市|