携程笔试到底怎么做呀-第四题

#携程2024秋招##携程笔试题#求大佬指正
    public  int func(String numStr){
        boolean[][] dp = new boolean[numStr.length()][numStr.length()];
        int result = 0;
        for(int i = 0;i < dp.length;i++){
             if(numStr.charAt(i) == '0'){
                 dp[i][i] =true;
                 result++;
             }
        }
        for(int j = 1;j <dp.length;j++){
            for(int i =j-1;i>=0;i--){
                if(dp[i][j-1] == false){
                    dp[i][j] = false;
                }else{
                    if(i != j-1){
                        dp[i][j] = true;
                    }else{
                        if(numStr.charAt(i+1) == '1'){
                            dp[i][j] = false;
                        }else{
                            dp[i][j] =true;
                        }
                    }
                }
                if(dp[i][j] == true){
                    result++;
                }
            }
        }
        return result;
    }
}
全部评论
看到一个大佬的解,on时间太牛了
1 回复 分享
发布于 2023-09-08 11:39 湖北

相关推荐

08-11 14:30
中南大学
想去大厂的花生米又在...:想体验的UU简介自取
点赞 评论 收藏
分享
tttk_:就是人多。 有的是条件和你差不多然后没在od待过的人。 所以就拿这个筛你了。 就和卡学历一样,人太多了。 从公司角度,这样做节省精力,更方便。 没办法谁叫现在人多呢
第一份工作能做外包吗?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务