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

LeetCode?題解?Swift?有效的完全平方數(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ù)的時空復(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ù)雜度分析

  • 時間復(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)文章

  • Swift 3中使用FMDB遇到的問題與解決方法

    Swift 3中使用FMDB遇到的問題與解決方法

    相信大家都熟悉OC使用FMDB第三方庫,進(jìn)行數(shù)據(jù)庫操作,增、刪、改、查,但最近在Swift 3中使用FMDB遇到了一些問題,下面這篇文章主要給大家介紹了關(guān)于在Swift 3中使用FMDB遇到的問題與解決方法,需要的朋友可以參考下。
    2017-07-07
  • Swift在什么情況會發(fā)生內(nèi)存訪問沖突詳解

    Swift在什么情況會發(fā)生內(nèi)存訪問沖突詳解

    這篇文章主要給大家介紹了關(guān)于Swift在什么情況會發(fā)生內(nèi)存訪問沖突的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Swift內(nèi)置的數(shù)字類型及基本的轉(zhuǎn)換方法

    Swift內(nèi)置的數(shù)字類型及基本的轉(zhuǎn)換方法

    這篇文章主要介紹了Swift內(nèi)置的數(shù)字類型及基本的轉(zhuǎn)換方法,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • Swift開發(fā)之UITableView狀態(tài)切換效果

    Swift開發(fā)之UITableView狀態(tài)切換效果

    這篇文章主要介紹了Swift開發(fā)之UITableView狀態(tài)切換效果的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • swift語言AutoreleasePool原理及使用場景

    swift語言AutoreleasePool原理及使用場景

    這篇文章主要為大家介紹了swift語言AutoreleasePool原理及使用場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • swift實(shí)現(xiàn)簡易計(jì)算器項(xiàng)目

    swift實(shí)現(xiàn)簡易計(jì)算器項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了swift實(shí)現(xiàn)簡易計(jì)算器項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Swift中的高階函數(shù)功能作用示例詳解

    Swift中的高階函數(shù)功能作用示例詳解

    這篇文章主要為大家介紹了Swift中的高階函數(shù)功能作用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 簡單理解插入排序算法及Swift版的代碼示例

    簡單理解插入排序算法及Swift版的代碼示例

    插入排序算法可以在已排序的序列中將要插入的元素和原有元素保持有序,這里我們來簡單理解插入排序算法及Swift版的代碼示例,需要的朋友可以參考下
    2016-07-07
  • Swift中的命名空間詳解

    Swift中的命名空間詳解

    這篇文章主要給大家介紹了關(guān)于Swift中命名空間的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • swift控件工廠類的實(shí)現(xiàn)代碼

    swift控件工廠類的實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了swift控件工廠類的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09

最新評論

白银市| 锡林浩特市| 武定县| 泰顺县| 兴隆县| 桂阳县| 岐山县| 海晏县| 三门县| 尚志市| 安陆市| 全南县| 永春县| 通山县| 东莞市| 榆中县| 伊金霍洛旗| 枣阳市| 德化县| 绥德县| 横峰县| 龙泉市| 聂荣县| 贵阳市| 揭东县| 栾城县| 泽库县| 陈巴尔虎旗| 石渠县| 高唐县| 翁牛特旗| 城固县| 泰顺县| 大英县| 高淳县| 东源县| 多伦县| 平湖市| 汉川市| 万源市| 东乌|