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

LeetCode?題解?Swift?有效的完全平方數

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

題目

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

進階:不要 使用任何內置的庫函數,如 sqrt。

示例 1:

輸入: num = 16

輸出: true

示例 2:

輸入: num = 14

輸出: false

方法一:使用內置的庫函數

思路及解法

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

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

復雜度分析

代碼中使用的 pow 函數的時空復雜度與 CPU 支持的指令集相關,這里不深入分析。

方法二:暴力

思路及解法

代碼

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
    }
}

復雜度分析

方法三:二分查找

思路及解法

細節(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
    }
}

復雜度分析

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

以上就是LeetCode 題解 Swift 有效的完全平方數的詳細內容,更多關于Swift 有效完全平方數的資料請關注腳本之家其它相關文章!

相關文章

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

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

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

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

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

    Swift內置的數字類型及基本的轉換方法

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

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

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

    swift語言AutoreleasePool原理及使用場景

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

    swift實現簡易計算器項目

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

    Swift中的高階函數功能作用示例詳解

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

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

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

    Swift中的命名空間詳解

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

    swift控件工廠類的實現代碼

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

最新評論

简阳市| 谢通门县| 鹰潭市| 洛宁县| 孟州市| 承德县| 广河县| 喀什市| 阿合奇县| 滨州市| 克东县| 商水县| 金寨县| 南通市| 新建县| 双城市| 广灵县| 华坪县| 南平市| 宿迁市| 枣庄市| 文山县| 安龙县| 和静县| 松江区| 甘孜县| 泽州县| 浮梁县| 新干县| 正阳县| 同德县| 高要市| 昌黎县| 郓城县| 潜山县| 济宁市| 湟中县| 寻乌县| 女性| 海南省| 霍城县|