IOS 算法(基礎(chǔ)篇) ----- 左旋轉(zhuǎn)數(shù)組

之前我們做個(gè)一道左旋轉(zhuǎn)字符串的問(wèn)題, 今天看一道左旋轉(zhuǎn)字符串的問(wèn)題

如果你想知道什么題? 既然你誠(chéng)心誠(chéng)意的發(fā)問(wèn)了, 我就大發(fā)慈悲的告訴你!

題目: 給一個(gè)數(shù)組 s , 數(shù)字k, 把數(shù)組轉(zhuǎn)換成,就是一個(gè)數(shù)組通過(guò)K的值把數(shù)組后K位移到前面。

例如:
s = [1, 2, 3, 4, 5, 6, 7, 8, 9], k=3, 返回 [7, 8, 9, 1, 2, 3, 4, 5, 6]
s = [1, 2, 3, 8, 9,10], k=3, 返回 [8, 9, 10, 1, 2, 3]

思路都是, 數(shù)組切割再拼接

方法1:
肯定要用swift的特性啦, 這次用到這個(gè)兩個(gè)函數(shù)
dropLast, suffix
這種方法最簡(jiǎn)潔, 一句代碼即可

    func change(_ s: [Int], _ n: Int) -> [Int] {
        return s.suffix(n) + s.dropLast(n)
    }

方法2:
切割拼接

    func change(_ s: [Int], _ n: Int) -> [Int] {
        if n < 0 || n > s.count {
            return s;
        }
        return ([Int])(s[s.count - n..<s.count] + s[0..<s.count - n])
    }

IOS 算法合集地址

?著作權(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)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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