Leetcodeブラシ刻印(17)-x平方根

トピックス要件:

int型のsqrt(int型x)関数を実現します。

計算し、xが負でない整数であり、xの平方根を返します。

戻り型が整数であるため、結果の整数部は、小数部を切り捨て保持します。

ソリューション:

最初の反応は、取得される可能性があり後:さらにこの数よりもデジタルの半分の正方形は確かに大きいので、0との間のトラバーサルは、半追加する:この数よりも少ない数の各々の正方形、プラストラバーサルを横断するとき;そうでなければ、インデックス除去全体の平方根である一つ。

しかし、ときに、この最後のテスト、間違っていることが、超大量に直面したが、今回は、複雑度の高い横断するとき。

改良された方法は次のとおりです。二分法!

初期設定:左マージンは0、半分プラス1桁の右側の境界線です。

値を取ります!値がそれ以外の場合は、大きな数字がオーバーフローする、long型として宣言され、ここで値が全体的にではなく、全体で取るべきか、無限ループに入りますだと、ここで注意してください!

 

 

おすすめ

転載: www.cnblogs.com/wangjm63/p/11520196.html