ixueaedu преди 2 години
родител
ревизия
5570ef13dc
променени са 1 файла, в които са добавени 24 реда и са изтрити 0 реда
  1. 24 0
      mySqrt.py

+ 24 - 0
mySqrt.py

@@ -0,0 +1,24 @@
+def mySqrt(x: int) -> int:
+    # if x == 0:
+    #     return 0
+    # if x == 1:
+    #     return 1
+    # i = 0
+    # while i <= x//2:
+    #     if (i+1) * (i+1) > x and i * i <= x:
+    #         return i
+    #     elif (i+1) * (i+1) == x:
+    #         return i + 1
+    #     else:
+    #         i += 1
+
+    l, r, ans = 0, x, -1
+    while l <= r:
+        mid = (l + r) // 2
+        if mid * mid <= x:
+            ans = mid
+            l = mid + 1
+        else:
+            r = mid - 1
+    return ans
+print(mySqrt(10))