牛客巅峰赛S2青铜组题解Java版本

牛客巅峰赛S2青铜组题解Java版本

3.

打表找规律,求字符串的二进制是否全是'1',循环除2取余,如果余数为0则为偶数返回false。

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param n string字符串 三角形的长和高
     * @return bool布尔型
     */
    public boolean judge (String n) {
        // write code here
        int len = n.length();
        if(((n.charAt(len - 1) - '0')&1)==0){return false;}
        String[] newN = {n};
        while(!newN[0].equals("0")){
            boolean isRestOne = div(newN[0], newN);
            if(!isRestOne){return false;}
        }
        return true;
    }

    private boolean div(String n, String[] newN){
        if(n.equals("1")){newN[0]="0";return true;}
        char[] chs = n.toCharArray();
        int len = chs.length;
        int rest = 0;
        StringBuilder sber = new StringBuilder();
        for(int i = 0; i < len; ++i){
            rest = rest * 10 + chs[i] - '0';
            int diver = rest / 2;
            rest = rest % 2;
            sber.append(diver);
        }
        // System.out.println(n);
        if(sber.charAt(0) == '0'){
            newN[0] = sber.substring(1, sber.length());
        }else{
            newN[0] = sber.toString();
        }
        if(rest == 0){return false;}
        else{return true;}
    }
}
#笔试题目#
全部评论
🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:40
🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:40
🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:40

相关推荐

好久没来牛客了,今天面试了一个实习生,感觉对方形象乱糟糟的,头发像鸡窝,像刚睡醒就来面试了,第一印象直接大打折扣,感觉我没有受到应有的尊重,再加上对方业务能力也一般,我直接挂掉;大家面试的时候还是好好收拾一下自己吧,争取给面试官留下个好印象,面试这东西还是存在眼缘的
MinJerous:更在乎本质,应该看候选人是否和岗位需要的能力匹配。洗脸/不洗头都无所谓吧,说不定人家刚刚通宵准备,就是为了这场面试呢?你挂掉他核心原因还是他能力不行,而不是形象。就算形象好点,能力不行你敢给过吗,不怕后面+1质疑你
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客企业服务