牛客網刷題 求平方根

2021-10-20 09:51:06 字數 604 閱讀 8218

實現函式 int sqrt(int x).

計算並返回x的平方根(向下取整)

輸入

2

輸出

1

二分法:三種情況

mid * mid <= x && (mid + 1)*(mid + 1) > x : 平方根符合條件(因為這裡mid是向下取整數)

mid * mid < x :取左測空間

mid * mid > x :取右測空間

// 思路1

public

class

solution

else

if(mid < x / mid)

else}}

}

時間複雜度分析:

o(lgn):二分法遍歷陣列

空間複雜度分析:

o(1):沒有使用額外的空間

小夥伴如果想測試的話,可以直接到牛客網這個鏈結做測試

求平方根-牛客網

求平方根函式

加一點注釋 unsigned short work unsigned int n 要進行開平方運算的物件 unsigned int ans 0 開平方運算的結果 unsigned int square 0 記錄中間產生的平方值 unsigned short r 0 程式最終的返回結果 for int...

4 求平方根

問題描述 實現int sqrt int n 函式,計算返回n的平方根。問題示例 sqrt 3 1,sqrt 10 3,sqrt 4 2,sqrt 5 2。問題分析 一般遇到解方程的題目,最常用的就是二分法。實現 class solution def my sqrt self,n 利用二分法實現平方根...

LintCode刷題 x的平方根

解釋 思想 使用二分查詢法 方法 n x n 這比 n n x 好一點,因為 中n n可能造成資料超出 int 範圍 詳細解釋 int mid start end start 2 使得每次mid都是中間數或者是比中間數大一的數 mid x mid 說明查詢的區間在start到mid之間 最後乙個if...