亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go Java算法之Excel表列名稱示例詳解

 更新時間:2022年08月12日 09:14:56   作者:黃丫丫  
這篇文章主要為大家介紹了Go Java算法之Excel表列名稱示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Excel表列名稱

給你一個整數(shù) columnNumber ,返回它在 Excel 表中相對應的列名稱。

例如:

A -> 1

B -> 2

C -> 3

...

Z -> 26

AA -> 27

AB -> 28

...

  • 示例 1:

輸入:columnNumber = 1

輸出:"A"

  • 示例 2:

輸入:columnNumber = 28

輸出:"AB"

  • 示例 3:

輸入:columnNumber = 701

輸出:"ZY"

  • 示例 4:

輸入:columnNumber = 2147483647

輸出:"FXSHRXW"  

提示:

1 <= columnNumber <= 231 - 1

方法一:數(shù)學(Java)

根據(jù)題意可知 'A' = chr(1+ord('A')-1) =》2 = chr(2+ord('A') -1) ,因此類似10進制一樣從個位開始匹配

使用循環(huán),首先求余,若余數(shù)為0,則說明是26的倍數(shù),則需要columnNumber-= 26,然后將余數(shù)=26,然后求倒數(shù)第二位,。。。直到最高位即最左邊第一位求余為0為止,拼接的字符串翻轉即為答案。

class Solution {
    public String convertToTitle(int columnNumber) {
        StringBuffer sb = new StringBuffer();
        while (columnNumber != 0) {
            columnNumber--;
            sb.append((char)(columnNumber % 26 + 'A'));
            columnNumber /= 26;
        }
        return sb.reverse().toString();
    }
}

cloumnNumber:轉換位26進制的位數(shù)

時間復雜度:O(log26(columnNumber))

空間復雜度:O(1)

方法一:數(shù)學(Go)

具體的方法思路已經(jīng)在上文中表述,詳情請看上文內(nèi)容。

將十進制轉二十六進制,先取余再除直到num == 0,由于1 對應 A,所以起始num - 1

  • 先創(chuàng)建一個26進制的數(shù)字和其對應的字母map
  • 對總數(shù)字取26的余數(shù),通過map獲取其相應的字母,注意當余數(shù)為0的時候余數(shù)是為26
  • 將數(shù)字減去余數(shù)后除以26,這步主要剔除個位數(shù),將十位數(shù)移到個位數(shù),再進行上述的同樣處理
func convertToTitle(columnNumber int) string {
    ans := []byte{}
    for columnNumber > 0 {
        columnNumber--
        ans = append(ans, 'A'+byte(columnNumber%26))
        columnNumber /= 26
    }
    for i, n := 0, len(ans); i < n/2; i++ {
        ans[i], ans[n-1-i] = ans[n-1-i], ans[i]
    }
    return string(ans)
}

cloumnNumber:轉換位26進制的位數(shù)

時間復雜度:O(log26(columnNumber))

空間復雜度:O(1)

以上就是Go Java算法之Excel表列名稱示例詳解的詳細內(nèi)容,更多關于Go Java算法Excel表列名稱的資料請關注腳本之家其它相關文章!

相關文章

  • Golang實現(xiàn)自定義時間結構體并支持Json&Gorm

    Golang實現(xiàn)自定義時間結構體并支持Json&Gorm

    因為時區(qū)等問題,很多項目需要自定義時區(qū)和時間格式,所以這篇文章主要為大家介紹了Golang如何實現(xiàn)自定義時間結構體并支持Json&Gorm,希望對大家有所幫助
    2024-03-03
  • golang使用mapstructure解析json

    golang使用mapstructure解析json

    mapstructure?是一個?Go?庫,用于將通用映射值解碼為結構,這篇文章主要來和大家介紹一下golang如何使用mapstructure解析json,需要的可以參考下
    2023-12-12
  • golang中channel+error來做異步錯誤處理有多香

    golang中channel+error來做異步錯誤處理有多香

    官方推薦golang中錯誤處理當做值處理, 既然是值那就可以在channel中傳輸,這篇文章主要介紹了golang 錯誤處理channel+error真的香,需要的朋友可以參考下
    2023-01-01
  • go判斷文件夾是否存在并創(chuàng)建的實例

    go判斷文件夾是否存在并創(chuàng)建的實例

    這篇文章主要介紹了go判斷文件夾是否存在,并創(chuàng)建的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • go語言實現(xiàn)mqtt協(xié)議的實踐

    go語言實現(xiàn)mqtt協(xié)議的實踐

    MQTT是一個基于客戶端-服務器的消息發(fā)布/訂閱傳輸協(xié)議。本文主要介紹了go語言實現(xiàn)mqtt協(xié)議的實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Go語言基礎模板設計模式示例詳解

    Go語言基礎模板設計模式示例詳解

    這篇文章主要為大家介紹了Go語言基礎設計模式之模板模式的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • go內(nèi)置函數(shù)copy()的具體使用

    go內(nèi)置函數(shù)copy()的具體使用

    當我們在Go語言中需要將一個切片的內(nèi)容復制到另一個切片時,可以使用內(nèi)置的copy()函數(shù),本文就介紹了go內(nèi)置函數(shù)copy()的具體使用,感興趣的可以了解一下
    2023-08-08
  • 解決Golang time.Parse和time.Format的時區(qū)問題

    解決Golang time.Parse和time.Format的時區(qū)問題

    這篇文章主要介紹了解決Golang time.Parse和time.Format的時區(qū)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • GO中的時間操作總結(time&dateparse)

    GO中的時間操作總結(time&dateparse)

    日常開發(fā)過程中,對于時間的操作可謂是無處不在,但是想實現(xiàn)時間自由還是不簡單的,多種時間格式容易混淆,本文為大家整理了一下GO中的時間操作,有需要的可以參考下
    2023-09-09
  • 淺談Golang?Slice切片如何擴容的實現(xiàn)

    淺談Golang?Slice切片如何擴容的實現(xiàn)

    本文主要介紹了淺談Golang?Slice切片如何擴容的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論