标签:return min int max sol 力扣 middle 69 平方根
题目
题解
二分搜索法 但是不同的是我们每次要与中间的平方比较
代码
1 #include<iostream> 2 using namespace std; 3 class Solution { 4 public: 5 int mySqrt(int x) { 6 if (x == 1) { 7 return 1; 8 } 9 int min = 0; 10 int max = x; 11 //如果max和min交叉 12 while (max - min > 1) 13 { 14 //更新中间 15 int middle = (min + max) / 2; 16 //防止int 溢出 17 if (x / middle < middle) { 18 max = middle; 19 } 20 else 21 { 22 min = middle; 23 } 24 } 25 return min; 26 } 27 }; 28 29 int main() { 30 Solution sol; 31 INT_MAX; 32 int result=sol.mySqrt(2147395599); 33 cout << result << endl; 34 35 }View Code
标签:return,min,int,max,sol,力扣,middle,69,平方根 来源: https://www.cnblogs.com/zx469321142/p/16354484.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。