leetcode :Binary Search: Valid Perfect Square(367)

原创 2016年08月30日 14:43:06

Given a positive integer num, write a function which returns True if num is a perfect square else False.

Note: Do not use any built-in library function such as sqrt.

Example 1:

Input: 16
Returns: True
Example 2:

Input: 14
Returns: False


class Solution {
public:
    bool isPerfectSquare(int num) {
        if (num == 1) return true;
        long x = num / 2, t = x * x;
        while (t > num) {
            x /= 2;
            t = x * x;
        }
        for (int i = x; i <= 2 * x; ++i) {
            if (i * i == num) return true;
        }
        return false;
    }
}; 
版权声明:本文为博主原创文章,未经博主允许不得转载。

Leetcode 473. Matchsticks to Square 卖火柴的小女孩画框框 解题报告

1 解题思想这道题的意思就是卖火柴的小女孩有一堆长度不等的火柴,他希望拼成一个正方形,不知道可以不可以?所谓可以就是: 1、用了所有火柴,一根不多,一根不少,当然一根用一次 2、四条边长度一样所以...
  • MebiuW
  • MebiuW
  • 2016年12月19日 19:27
  • 3140

二叉搜索树(Binary Search Tree )的定义及分析

定义:     二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同。 左子树(如果非空)上所...
  • jsh13417
  • jsh13417
  • 2013年01月22日 21:59
  • 3362

二叉搜索树(Binary Search Tree)的插入与删除

二叉搜索树的插入关键是要找到元素应该插入的位置,可以采用与Find类似的方法。 二叉搜索树的删除则要考虑三种情况:   1.要删除的是叶节点:直接删除,并再修改其父节点指针置为NULL ...
  • song_hui_xiang
  • song_hui_xiang
  • 2015年08月16日 13:10
  • 989

ABAP性能优化技巧—使用二分查找(Binary Search)选项

READ命令使用顺序查找数据表,这会降低处理速度。取而代之,使用binary search的附加命令,可以使用二分查找算法,可以帮助加快内表查找速度。 在使用binary search之前必须首先将内...
  • Victor9279
  • Victor9279
  • 2016年11月02日 14:52
  • 573

数据结构(Java语言)——BinarySearchTree简单实现

二叉树的一个重要应用是它们在查找中的使用。使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有项的值都大于X中的项。注意,这意味着该树所有的元素都可以用某种一致的方式排序。 现在给出...
  • zhang_zp2014
  • zhang_zp2014
  • 2015年08月14日 21:55
  • 937

JAVA之数组查询binarySearch()方法详解

binarySearch()方法提供了多种重载形式,用于满足各种类型数组的查找需要,binarySearch()有两种参数类型注:此法为二分搜索法,故查询前需要用sort()方法将数组排序,如果数组没...
  • a1b2c3d4123456
  • a1b2c3d4123456
  • 2016年04月08日 15:34
  • 5100

二叉查找树(binary search tree)——python实现

二叉查找树(binary search tree) 顾名思义二叉查找树中每个jied
  • u013184096
  • u013184096
  • 2014年07月11日 21:59
  • 1448

Leetcode全树类问题

Leetcode全树类问题。算法总的来说就是递归(Stack, DFS)和广度优先(Queue, BFS)两种。下面有关二叉树类linked list的题目,若不加特别说明......
  • wangxiaojun911
  • wangxiaojun911
  • 2014年02月04日 03:03
  • 8674

Leetcode刷题系列(二)Binary Search

Binary Search的基础框架代码Bianry Search的基本思想  二分查找法是基于一组有序数上的查找,它的时间复杂度最坏为O(n),平均时间复杂度为O(lgn),空间复杂度为O(1)。由...
  • lingyun_fay
  • lingyun_fay
  • 2016年06月12日 22:35
  • 271

Leetcode 240 Search a 2D Matrix II (二分法和分治法解决有序二维数组查找)

1.问题描述  写一个高效的算法,从一个m×nm\times n的整数矩阵中查找出给定的值,矩阵具有如下特点:    每一行从左到右递增。 每一列从上到下递增。 2. 方法与思路2.1 二分查找法 ...
  • Jeanphorn
  • Jeanphorn
  • 2015年07月23日 20:41
  • 3118
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode :Binary Search: Valid Perfect Square(367)
举报原因:
原因补充:

(最多只允许输入30个字)