一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 218|回复: 2
收起左侧

mulesoft intern oa

[复制链接] |试试Instant~ |关注本帖
xxxxx56789 发表于 2016-11-3 15:06:17 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 实习@mulesoft - 网上海投 - 在线笔试 |Passfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
题目同instant.1point3acres.com/thread/189210#most-old
贴下我的follow up 代码

mport java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;



public class island_rectangle {

        public static class point{
                int x;
                int y;
                public point(int x, int y){
                        this.x = x;
                        this.y = y;
                }
        }
       
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                char [][] m =  {{'X', 'O', 'O', 'O', 'O', 'O'},
                      {'X', 'O', 'X', 'X', 'X', 'X'},
                      {'O', 'O', 'O', 'O', 'O', 'O'},
                      {'X', 'X', 'X', 'O', 'X', 'X'},
                      {'X', 'X', 'X', 'O', 'X', 'X'},
                      {'O', 'O', 'O', 'O', 'X', 'X'},
                     };

                for(point p : position(m))
                System.out.println(p.x+" "+p.y);
        }
       
       
        public static List<point> position(char[][] m){
                List<point> re = new ArrayList<point>();
                int xlen = m.length;
                int ylen = m[0].length;
                int count = 0;
                for(int x =0; x<xlen; x++){
                        for(int y=0; y<ylen; y++){
                                if((m[x][y] =='X') && (x==0 || m[x-1][y]=='O') && (y==0 || m[x][y-1]=='O')){
                                        point p = new point(x,y);
                                        re.add(p);
                                        count++;
                                        helper(re, x, y, m,re.size());
                                }
                        }
                }
                return re;
        }
       
        public static void helper(List<point> re, int x , int y,char[][] m, int size){
                int xlen = m.length;
                int ylen = m[0].length;
                if(x>=xlen || y>=ylen || m[x][y] == 'O') return;
                if((x==xlen-1 || m[x+1][y]=='O') && (y==ylen-1 || m[x][y+1]=='O') && re.size() ==size){
                        point p = new point(x,y);
                        re.add(p);
                }
                helper(re, x+1, y,m,size);
                helper(re, x, y+1,m,size);
        }
       

}
鏉ユ簮涓浜.涓夊垎鍦拌鍧.

评分

2

查看全部评分

213123418 发表于 2016-11-5 13:13:03 | 显示全部楼层
请问楼主follow之前只有一个矩形的是只能n2暴力么?.鐣欏璁哄潧-涓浜-涓夊垎鍦
回复 支持 反对

使用道具 举报

 楼主| xxxxx56789 发表于 2016-11-8 13:15:40 | 显示全部楼层
213123418 发表于 2016-11-5 13:13
请问楼主follow之前只有一个矩形的是只能n2暴力么?

我当时是暴力解的,应该没关系,反正只相当一个oa
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 16:03

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表