File tree Expand file tree Collapse file tree 2 files changed +36
-7
lines changed
Expand file tree Collapse file tree 2 files changed +36
-7
lines changed Original file line number Diff line number Diff line change @@ -51,26 +51,26 @@ static double mySqrt(double n)
5151}
5252#endif
5353
54- static int mySqrt (int x )
54+ int mySqrt (int x )
5555{
5656 if (x == 0 ) {
5757 return 0 ;
5858 }
5959
60- unsigned int left = 1 ;
61- unsigned int right = (unsigned int ) x ;
62- unsigned int mid = left + (right - left ) / 2 ;
60+ unsigned int lo = 1 ;
61+ unsigned int hi = (unsigned int ) x ;
62+ unsigned int mid = lo + (hi - lo ) / 2 ;
6363 for (; ;) {
6464 if (mid > x /mid ) {
65- right = mid ;
65+ hi = mid ;
6666 } else {
6767 if (mid + 1 > x /(mid + 1 )) {
6868 break ;
6969 } else {
70- left = mid ;
70+ lo = mid ;
7171 }
7272 }
73- mid = left + (right - left ) / 2 ;
73+ mid = lo + (hi - lo ) / 2 ;
7474 }
7575
7676 return mid ;
Original file line number Diff line number Diff line change 1+ #include < bits/stdc++.h>
2+
3+ using namespace std ;
4+
5+ class Solution {
6+ public:
7+ int mySqrt (int x) {
8+ if (x == 0 ) {
9+ return 0 ;
10+ }
11+
12+ unsigned int lo = 1 , hi = x;
13+ unsigned int mid = (lo + hi) / 2 ;
14+ for (; ;) {
15+ if (mid > x / mid) {
16+ hi = mid;
17+ } else {
18+ if (mid + 1 > x / (mid + 1 )) {
19+ break ;
20+ } else {
21+ lo = mid;
22+ }
23+ }
24+ mid = (lo + hi) / 2 ;
25+ }
26+
27+ return mid;
28+ }
29+ };
You can’t perform that action at this time.
0 commit comments