[leetcode] 367. Valid Perfect Square 解题报告

来源:互联网 发布:java基础入门视频教程 编辑:程序博客网 时间:2024/05/20 20:45

题目链接: https://leetcode.com/problems/valid-perfect-square/

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

Example 1:

Input: 16Returns: True

Example 2:

Input: 14Returns: False


思路: 二分查找即可. 话说linkedin好像又开始招人了, 可能前段时间被微软收购之后又有钱了, 哈哈! 

代码如下:

class Solution {public:    bool isPerfectSquare(int num) {        if(num < 1) return false;        if(num == 1) return true;        int left = 0, right = num/2;        while(left <= right)        {            long mid = (left+right)/2;            long val = mid*mid;            if(val == num) return true;            else if(val > num) right = mid-1;            else left = mid+1;        }        return false;    }};


0 0
原创粉丝点击