Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
            页面加载耗时 0.00 毫秒·物理内存 148.5MB ·虚拟内存 1438.3MB
        
        欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
        
        
        给定一个 正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 true,否则返回 false。
进阶:不要 使用任何内置的库函数,如sqrt。
示例 1:
输入: num = 16
输出: true
示例 2:
输入: num = 14
输出: false
根据完全平方数的性质,我们只需要直接判断 num\textit{num}num 的平方根 xxx 是否为整数即可。对于不能判断浮点数的值是否等于整数的语言,则可以通过以下规则判断:

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



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
  }
}
以上就是LeetCode 题解 Swift 有效的完全平方数的详细内容,更多关于Swift 有效完全平方数的资料请关注编程教程其它相关文章!
引言为了更好地了解和学习SwiftUI,我们快速学习SwiftUI的三种基本布局:HStack水平布局容器、VStack垂直布局容器、ZStack层叠布局容器。在实际开发过程中,登录页面是 ...