zoukankan      html  css  js  c++  java
  • 367. Valid Perfect Square

    package LeetCode_367
    
    /**
     * 367. Valid Perfect Square
     * https://leetcode.com/problems/valid-perfect-square/description/
     *
     * Given a positive integer num, write a function which returns True if num is a perfect square else False.
    Follow up: Do not use any built-in library function such as sqrt.
    
    Example 1:
    Input: num = 16
    Output: true
    
    Example 2:
    Input: num = 14
    Output: false
    
    Constraints:
    1 <= num <= 2^31 - 1
     * */
    class Solution {
        /*
        * solution: binary search
        * */
        fun isPerfectSquare(num: Int): Boolean {
            if (num == 1) {
                return true
            }
            var left = 0
            var right = num
            //close left and open right
            while (left < right) {
                val m = left + (right - left) / 2
                if (m * m == num) {
                    return true
                } else if (m > num / m) {
                    right = m
                } else {
                    left = m + 1
                }
            }
            return false
        }
    }
  • 相关阅读:
    跨浏览器的事件对象(EventUtil)
    原型 Object.create
    DC大牛的function扩展
    事件代理 proxy
    错误处理程序
    JQuery 插件
    关于ClownFish的问题
    C#拾遗
    Jquery技巧
    防盗链
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/13584889.html
Copyright © 2011-2022 走看看