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

#携程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  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 湖北

相关推荐

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