華為OD機(jī)試真題2023_Swift_100_對(duì)稱字符串

g
// 對(duì)稱字符串
    func HW2023007() {
        // 測(cè)試用例
        var lineArr: [String] = []
//        lineArr = ["64 73709551616"]
//        lineArr = ["1 0", "2 1", "3 1", "4 3", "5 8"]
        // 開始代碼
        let _ = readLine()
        while let line = readLine() {
            lineArr.append(String(line))
        }
        for i in lineArr {
            let arr = String(i).components(separatedBy: " ").map { Int($0) ?? 0}
            let maxNum: Double = pow(Double(2), Double(arr.first! - 1))
            let res = creatSymmetryString(maxNum, Double(arr.last!), 0)
            print((res % 2 == 0 ? "red" : "blue") + "\(res)")
        }
    }
//  n: 總字符總個(gè)數(shù) k:字符索引 reverse:翻轉(zhuǎn)次數(shù) reture:翻轉(zhuǎn)次數(shù)
    func creatSymmetryString(_ n: Double, _ k: Double, _ reverse: Int) -> Int {
        var reverse = reverse
        if n == 1 {
            return reverse
        }
        let half: Double = n / 2
        if k < half {
            reverse += 1
            return creatSymmetryString(half, k, reverse)
        }else {
            return creatSymmetryString(half, k-half, reverse)
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容