日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 高薪_LeetCode刷题实战69:x 的平方根

發布時間:2025/3/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode 高薪_LeetCode刷题实战69:x 的平方根 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

算法的重要性,我就不多說了吧,想去大廠,就必須要經過基礎知識和業務邏輯面試+算法面試。所以,為了提高大家的算法能力,這個公眾號后續每天帶大家做一道算法題,題目就從LeetCode上面選 !

今天和大家聊的問題叫做?x 的平方根,我們先來看題面:

https://leetcode-cn.com/problems/sqrtx/

Implement int sqrt(int x).

Compute and return the square root of x, where x is guaranteed to be a non-negative integer.

Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.

題意

實現 int sqrt(int x) 函數。計算并返回 x 的平方根,其中 x 是非負整數。由于返回類型是整數,結果只保留整數的部分,小數部分將被舍去。樣例

示例 1:
輸入: 4
輸出: 2
示例 2:
輸入: 8
輸出: 2
說明: 8?的平方根是 2.82842..., 由于返回類型是整數,小數部分將被舍去。

解題

https://blog.csdn.net/qq_41231926/article/details/82861877解法一:從1開始逐個查找思路一是最先能想到的簡單粗暴的解法。從數字1開始找,一旦找到平方值等于x的數字i,直接返回i。如果找到平方值大于x的數字i,需要返回i - 1。需要注意的是,為了防止做乘法運算時越界,需要強轉為long類型。時間復雜度是O(sqrt(x))。空間復雜度是O(1)。

public?class?Solution?{public?int?mySqrt(int?x)?{for?(long?i = 1; i <= x; i++) {if(i * i > x) {return?(int)(i - 1);
??????}else?if(i * i == x) {return?(int)i;
??????}
????}return?0;
????}
}

解法二:二分查找法解法一的時間復雜度太高,可以用二分法進行改進。運算過程中涉及到乘法運算時同樣需要強轉為long類型防止越界。時間復雜度是O(logx)。空間復雜度是O(1)。

public?class?Solution?{public?int?mySqrt(int?x)?{int?left = 0, right = x / 2?+ 1;while?(left <= right) {long?mid = left + (right - left) / 2;if?(mid * mid == x) {return?(int) mid;
??????} else?if?(mid * mid < x) {
????????left = (int) (mid + 1);
??????} else?{
????????right = (int) (mid - 1);
??????}
????}return?right;
??}
}

好了,今天的文章就到這里,如果覺得有所收獲,請順手點個在看或者轉發吧,你們的支持是我最大的動力。

上期推文:

LeetCode40-60題匯總,速度收藏!LeetCode刷題實戰61:旋轉鏈表LeetCode刷題實戰62:不同路徑LeetCode刷題實戰63:不同路徑 IILeetCode刷題實戰64:最小路徑和LeetCode刷題實戰66:加一LeetCode刷題實戰67:二進制求和LeetCode刷題實戰68:文本左右對齊

總結

以上是生活随笔為你收集整理的leetcode 高薪_LeetCode刷题实战69:x 的平方根的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。