方法一:
思路:
二分查找:low high mid均定义为long类型,否则会溢出。
public class Solution { public boolean isPerfectSquare(int num) { long low = 1; long high = num; while (low <= high) { long mid = low + (high - low) / 2; if (mid * mid == num) return true; else if (mid * mid < num) low = mid + 1; else high = mid - 1; } return false; }}Runtime:0ms
方法二:
思路:
public class Solution { public boolean isPerfectSquare(int num) { for (int i = 1; i <= num / i; i++) { if (i * i == num) return true; } return false; }}Runtime:3ms
新闻热点
疑难解答