题解 | #删除链表的倒数第n个节点#
求平方根
http://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c
二分法
算出 最终的值时。若值得平方大于x,则最终值-1;
若值平方小于x,则输出最终值。
public int sqrt (int x) { // write code here if (x < 0){ System.out.println(new Exception("算数错误")); } if (x == 1 || x == 0){ return x; } int l = 1; int r = x/2; while (l<r){ int mid = l + (r-l) / 2; if (x / mid == mid){ return mid; }else if (x / mid > mid){ l = mid + 1; }else { r = mid - 1; } } if(l * l > x){ System.out.println((l - 1)); return l - 1; }else{ System.out.println(l); return l; }