Question: Write a method boolean perfectSquare(int n) that returns true if n is a perfect square. You may not use Math.sqrt and the runtime must be

Write a method

boolean perfectSquare(int n) that returns true if n is a perfect square. You may not use Math.sqrt and the runtime must be O(logn).

Using this hint: Binary search to try to find a number whose square is n. Initialize low = 0 and high = n. Note that mid*mid may overflow, so you can avoid this by using a long.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!