题解 | #立方根#

立方根

https://www.nowcoder.com/practice/ada3edb4700143f4917d3e631ad2481a

class Solution {

public:

    /**

     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

     *

     * 

     * @param n int整型 

     * @return int整型

     */

    int cuberoot(int n) {

        // write code here

        if(n == 1){

            return 1;

        }

        int l = 1;

        int r = n;

        while(l <= r){

            int mid = (l + r) / 2;

            int m = n / mid;

            m /= mid;

            int m1 = n / (mid+1);

            m1 /= mid + 1;

            if(mid <= m && (mid+1) > m1) {

                return mid;

            }

            if(mid > m){

                r = mid - 1;

            }

            if(mid < m){

                l = mid + 1;

            }

        }

        return -1;

    }

};

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务