【每日刷題】x 的平方根

69. x 的平方根 - 力扣(LeetCode)

方法一:暴力

從0開始遍歷,直到 ans*ans > x 為止,這時ans-1就是答案。需要注意可能會爆int,所以ans要開為long,最后再轉換為int。

class Solution {public int mySqrt(int x) {long ans = 0;while(ans * ans <= x){ans++;}return (int)ans-1;}
}

方法二:二分

這道題很適合用二分來做,甚至題解就是標準的二分模板。

如果開方為整數,會從return mid語句返回。因為非整數是向下取整,所以結果返回l-1。

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

當然這里也可以像官方題解一樣,直接合并小于和等于,額外賦值ans=mid,無論開方是否為整數,最后都返回ans即可。

class Solution {public int mySqrt(int x) {int l = 0, r = x, ans = -1;while (l <= r) {int mid = l + (r - l) / 2;if ((long) mid * mid <= x) {ans = mid;l = mid + 1;} else {r = mid - 1;}}return ans;}
}作者:力扣官方題解
鏈接:https://leetcode.cn/problems/sqrtx/solutions/238553/x-de-ping-fang-gen-by-leetcode-solution/
來源:力扣(LeetCode)
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88450.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88450.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88450.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#元組:從基礎到實戰的全方位解析

C#元組&#xff1a;從基礎到實戰的全方位解析 在 C# 編程中&#xff0c;元組&#xff08;Tuple&#xff09;是一種輕量級的數據結構&#xff0c;用于臨時存儲多個不同類型的元素。無論是方法返回多個值、LINQ 查詢中的臨時投影&#xff0c;還是簡化數據傳遞&#xff0c;元組都以…

Django母嬰商城項目實踐(二)

2、母嬰商城項目環境配置 環境配置: Python3.12 解釋器Pycharm Professional 2025.1 編輯器Django 4.2(或 Django 5.x)MySQL 8.0.28 數據庫 1、Django框架 介紹 Django是一個高級的Python Web應用框架,可以快速開發安全和可維護的網站。由經驗豐富的開發者構建,Django負責…

Go語言的Channel通道的含義。區分緩沖通道和非緩沖通道,并討論通道的發送、接收、關閉以及如何安全地從已關閉的通道讀取數據。

非緩沖通道&#xff1a;非緩沖通道在確定時沒有聲明容量大小&#xff0c;發送和接收操作會同步阻塞&#xff0c;直到另一端準備好。發送方和接收方必須同時就緒才能完成數據交換&#xff0c;否則會阻塞。常用于goroutine之間的同步通信。緩沖通道&#xff1a;緩沖通道在確定時就…

tensor

&#x1f609;如果您想用jupyter notebook跑我的筆記&#xff0c;可以在下面獲取ipynb版本 &#x1f60a;麻煩給個免費的star&#x1f618; ??主包也更建議這種形式&#xff0c;上面的筆記也更加全面&#xff0c;每一步都有直觀的輸出 文章目錄&#x1f4da; PyTorch張量操作…

STM32-DAC數模轉換

DAC數模轉換&#xff1a;將數字信號轉換成模擬信號特性&#xff1a;2個DAC轉換器每個都擁有一個轉換通道8位或12位單調輸出&#xff08;8位右對齊&#xff1b;12位左對齊右對齊&#xff09;雙ADC通道同時或者分別轉換外部觸發中斷電壓源控制部分&#xff08;外部觸發3個APB1&am…

前后端集合如何傳遞

前端vue后端rest風格&#xff1a;1.路徑傳參&#xff08;參數必傳&#xff09;&#xff0c;通過pathvarible注解后端&#xff1a;DeleteMapping("/{YYIDs}")public R<Void> remove(NotEmpty(message "主鍵不能為空")PathVariable String[] YYIDs) {…

1353. 最多可以參加的會議數目

1353. 最多可以參加的會議數目 題目鏈接&#xff1a;1353. 最多可以參加的會議數目 代碼如下&#xff1a; class Solution { public:int maxEvents(vector<vector<int>>& events) {int mx 0;for (auto& e : events) {mx max(mx, e[1]); // 找到最大的結…

OCR 本地版本

UMI OCR 支持本地部署&#xff0c;支持HTTP OCR

大數據驅動的酒店用品需求預測模型研究 開發——畢業論文,畢業設計——仙盟創夢IDE

主頁酒店用品 平臺協議促銷畢業論文摘要本研究旨在構建基于大數據分析的酒店用品需求預測模型&#xff0c;以提高酒店用品批發企業的庫存管理效率和供應鏈響應速度。研究整合了酒店歷史采購數據、季節因素、市場趨勢、節假日信息等多源數據&#xff0c;通過對比傳統時間序列模型…

Windows11桌面解鎖守護腳本

使用python程序加bat一鍵運行腳本&#xff0c;媽媽再也不用擔心我的電腦桌面了import os import time import cv2 import pyautogui import psutil from datetime import datetimeclass UnlockMonitor:def __init__(self):"""初始化監控器"""sel…

Linux Ubuntu系統的用戶管理

一.關于root用戶默認我們安裝完系統后 注冊的用戶就是管理員用戶標識符 $ 管理員標識符#最高管理員在Ubuntu系統中,root是最高管理員,擁有最大的權限,默認情況下root用戶沒有啟用密碼,而是通過sudo機制來獲取管理員權限二.Ubuntu系統中root用戶的默認狀態root用戶存在,但未啟用…

ROS1學習第三彈

ROS1學習第二彈 本文純屬記錄學習過程&#xff0c;所學教程來自B站古月居ROS入門21講 tf工具的使用 命令行中 1.rosrun tf view_frames 生成當前各個坐標的結構圖&#xff0c;導出pdf文件到當前終端所在文件夾下面2.rosrun rviz rviz -d rospackage find turtle_tf /rviz/tu…

技術演進中的開發沉思-30 MFC系列:五大機制

MFC&#xff0c;記得我剛畢業時在 CRT 顯示器前敲下第一行 MFC 代碼時&#xff0c;那時什么都不懂&#xff0c;沒有框架的概念。只覺得眼前的 CObject 像位沉默且復雜的大家族&#xff0c; 就像老北京胡同里的大家族&#xff0c;每個門牌號都藏著自己的故事。但現在看看&#x…

機器學習-06(Optimization-自動調整學習率)

臨界點其實不一定是在訓練神經網絡過程中遇到的最大阻礙。隨著對參數的不斷更新&#xff0c;Loss值會不斷下降&#xff0c;直至幾乎沒有變化&#xff0c;不再下降。當參數更新到臨界點時&#xff0c;意味著gradient非常小&#xff0c;所以要認定參數是否到達臨界點應當確認grad…

Uniapp中的uni.scss

uni.scss為uni-app新建項目自帶工程文件&#xff0c;使用的預處理器為sass/scss&#xff0c;由此可見&#xff0c;uni-app官方推薦的是scss。 uni.scss特點 無需引入&#xff0c;uni-app在編譯時&#xff0c;會自動引入此文件在此中定義的scss變量&#xff0c;可以全局使用&…

PreparedStatement 實現分頁查詢詳解

PreparedStatement 實現分頁查詢詳解 在 JDBC 中使用 PreparedStatement 實現分頁查詢是高效安全的方式&#xff0c;可以避免 SQL 注入并提升性能。下面我將詳細說明實現步驟和原理。 &#x1f4d0; 分頁查詢核心參數參數名說明計算公式pageNum當前頁碼&#xff08;從1開始&…

ClamAV 和 FreshClam:Linux 服務器上的開源殺毒解決方案

ClamAV 和 FreshClam:Linux 服務器上的開源殺毒解決方案 1. 概述 ClamAV 是一款開源的防病毒引擎,專為 Linux 服務器設計,用于檢測惡意軟件、病毒、木馬和其他安全威脅。它廣泛應用于郵件服務器、文件存儲系統和 Web 服務器,提供高效的病毒掃描功能。 主要特點: 免費開…

PySpark中python環境打包和JAR包依賴

在 PySpark 中打包 Python 環境并調度到集群是處理依賴一致性的關鍵步驟。以下是完整的解決方案&#xff0c;包含環境打包、分發和配置方法&#xff1a; 一、環境打包方法 使用 Conda 打包環境 # 創建 Conda 環境 conda create -n pyspark_env python3.8 conda activate pyspar…

和鯨社區深度學習基礎訓練營2025年關卡2(1)純numpy

擬分3種實現方法&#xff1a;1.純numpy2.sklearn中的MLPClassifier3.pytorch題目&#xff1a; 在 MNIST 數據集上訓練 MLP 模型并比較不同的激活函數和優化算法任務描述&#xff1a;使用 MNIST 數據集中的前 20,000 個樣本訓練一個多層感知機 (MLP) 模型。你需要比較三種不同的…

Sequential Thinking:AI深度思考的新范式及其與CoT、ReAct的對比分析

引言&#xff1a;AI深度思考的演進與Sequential Thinking的崛起在人工智能技術快速發展的今天&#xff0c;AI模型的思考能力正經歷著從簡單應答到深度推理的革命性轉變。這一演進過程不僅反映了技術本身的進步&#xff0c;更體現了人類對機器智能認知邊界的持續探索。早期的大語…