私は、sqrt(x)(https://leetcode.com/problems/sqrtx/)という名前のLeetCode質問番号69に取り組んでいます。整数の平方根を別の整数で返すように私に求めました。以下は私の解決策です。はLeetcodeパズルSQRT(x)のための私の解決策の何が悪いのでしょうか?
public class Solution {
public int mySqrt(int x) {
int i = 0;
if(x==0)
{
return 0;
}
for(i = 1;i<x/2;i++)
{
if(((i*i)<=x)&&((i+1)*(i+1)>x))
{
break;
}
}
return i;
}
}
私がコードを提出すると、x> = 2147395600のすべてのテストケースがすべて失敗します。 x = 2147395600の場合、46340の代わりに289398が返されますが、これは正解です。私のコードの問題は何ですか?
Ummm .... 'int'vs' long'? –
iとxをlongに変換する – Mukit09