欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

LeetCode?題解?Swift?有效的完全平方數(shù)

 更新時(shí)間:2022年09月22日 14:54:12   作者:晨曦_iOS  
這篇文章主要為大家介紹了LeetCode?題解?Swift?有效的完全平方數(shù)方案示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

題目

給定一個 正整數(shù) num,編寫一個函數(shù),如果 num 是一個完全平方數(shù),則返回 true,否則返回 false。

進(jìn)階:不要 使用任何內(nèi)置的庫函數(shù),如 sqrt。

示例 1:

輸入: num = 16

輸出: true

示例 2:

輸入: num = 14

輸出: false

方法一:使用內(nèi)置的庫函數(shù)

思路及解法

根據(jù)完全平方數(shù)的性質(zhì),我們只需要直接判斷 num\textit{num}num 的平方根 xxx 是否為整數(shù)即可。對于不能判斷浮點(diǎn)數(shù)的值是否等于整數(shù)的語言,則可以通過以下規(guī)則判斷:

class Solution {
    func isPerfectSquare(_ num: Int) -> Bool {
        let x: Int = Int(sqrt(Double(num)))
        return x * x == num
    }
}

復(fù)雜度分析

代碼中使用的 pow 函數(shù)的時(shí)空復(fù)雜度與 CPU 支持的指令集相關(guān),這里不深入分析。

方法二:暴力

思路及解法

代碼

class Solution {
    func isPerfectSquare(_ num: Int) -> Bool {
        var x: Int = 1
        var square: Int = 1
        while square <= num {
            if square == num {
                return true
            }
            x += 1
            square = x * x
        }
        return false
    }
}

復(fù)雜度分析

方法三:二分查找

思路及解法

細(xì)節(jié)

代碼

class Solution {
    func isPerfectSquare(_ num: Int) -> Bool {
        var left: Int = 0
        var right: Int = num
        while left <= right {
            let mid = (right - left) / 2 + left
            let square = mid * mid
            if square < num {
                left = mid + 1
            } else if square > num {
                right = mid - 1
            } else {
                return true
            }
        }
        return false
    }
}

復(fù)雜度分析

  • 時(shí)間復(fù)雜度:O(log?n),其中 n為正整數(shù) num 的最大值。
  • 空間復(fù)雜度:O(1)。

以上就是LeetCode 題解 Swift 有效的完全平方數(shù)的詳細(xì)內(nèi)容,更多關(guān)于Swift 有效完全平方數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • swift4更新中所遇到的一些問題總結(jié)

    swift4更新中所遇到的一些問題總結(jié)

    這篇文章主要給大家介紹了關(guān)于在swift4更新中所遇到的一些問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Swift調(diào)用Objective-C代碼

    Swift調(diào)用Objective-C代碼

    目前Swift語言所編寫的應(yīng)用才剛剛可以使用Xcode 6 GM版本提交,而Objective-C作為蘋果的主開發(fā)語言存在了很多年了。目前尚無成熟的Swift庫可用,所以當(dāng)前編寫應(yīng)用可以說基本離不開調(diào)用Objective-C代碼的情況。
    2014-09-09
  • Swift實(shí)現(xiàn)3D輪播圖效果

    Swift實(shí)現(xiàn)3D輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)3D輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • openstack重啟swift服務(wù)后報(bào)錯問題解決方案

    openstack重啟swift服務(wù)后報(bào)錯問題解決方案

    這篇文章主要介紹了解決openstack重啟swift服務(wù)后報(bào)錯,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • swift實(shí)現(xiàn)簡單的計(jì)算器

    swift實(shí)現(xiàn)簡單的計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了swift實(shí)現(xiàn)簡單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Swift中 !和 ?的區(qū)別及使用

    Swift中 !和 ?的區(qū)別及使用

    這篇文章主要介紹了Swift中 !和 ?的區(qū)別及使用的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 深入解析Swift中switch語句對case的數(shù)據(jù)類型匹配的支持

    深入解析Swift中switch語句對case的數(shù)據(jù)類型匹配的支持

    這篇文章主要介紹了Swift中switch語句對case的數(shù)據(jù)類型匹配的支持,Swift中switch...case語句支持多種數(shù)據(jù)類型的匹配判斷,十分強(qiáng)大,需要的朋友可以參考下
    2016-04-04
  • swift中利用runtime交換方法的實(shí)現(xiàn)示例

    swift中利用runtime交換方法的實(shí)現(xiàn)示例

    這篇文章主要給大家介紹了關(guān)于swift中利用runtime交換方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-05-05
  • Swift協(xié)議Protocol介紹

    Swift協(xié)議Protocol介紹

    協(xié)議規(guī)定了用來實(shí)現(xiàn)某一特定功能所必需的方法和屬性。任意能夠滿足協(xié)議要求的類型被稱為遵循(conform)這個協(xié)議。類,結(jié)構(gòu)體或枚舉類型都可以遵循協(xié)議,并提供具體實(shí)現(xiàn)來完成協(xié)議定義的方法和功能
    2022-08-08
  • Swift中的可變參數(shù)函數(shù)介紹

    Swift中的可變參數(shù)函數(shù)介紹

    這篇文章主要介紹了Swift中的可變參數(shù)函數(shù)介紹,本文實(shí)現(xiàn)了和Objective-C調(diào)用方法一樣的變參數(shù)函數(shù),需要的朋友可以參考下
    2015-01-01

最新評論