bool isPerfectSquare(int num) {
    if(num==1) return true;
    int head=1,tail=num-1;
    while(head<=tail){
        int mid=(head+tail)/2;
        long  smid=pow(mid,2);
        if(smid>num){
            tail=mid-1;
        }else if(smid<num){
            head=mid+1;
        }else{
            return true;
        }
    }
    return false;
}

二分查找多好得方法啊。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。