一亩三分地论坛

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

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

Bloomberg挂经

[复制链接] |试试Instant~ |关注本帖
donnice 发表于 2016-3-18 02:49:41 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 全职@Bloomberg - 内推 - 在线笔试 |Failfresh grad应届毕业生

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

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

x
刚刚面完,只有一道,给出一个char board,比如BOS
ASZ
DEY
再给出targetString,BOSE
问是否存在target的路径.1point3acres缃

模仿了Num of islands的写法,上下左右visit邻居,如果发现target char就put in stringbuilder
但我犯了一个很大的错,就是用stringbuilder存的话,如果出现了BOS这种情况,应该把它delete掉再返回到原来的位置,但我没想到。最后也没有解出来,跪了
leetcode应该是有类似的题的吧,但我没准备到,gg,move on


补充内容 (2016-3-18 02:52):.1point3acres缃
leetcode 79,真是技不如人啊

补充内容 (2016-3-18 06:52):
电面,写错了. Waral 鍗氬鏈夋洿澶氭枃绔,
.1point3acres缃
补充内容 (2016-3-22 10:28): 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
今天被拒了,共勉

评分

1

查看全部评分

larry_cn 发表于 2016-3-18 05:36:18 | 显示全部楼层
patpat  也是今天 去的 2轮游。。。  一起 继续加油吧
回复 支持 反对

使用道具 举报

gwygw 发表于 2016-3-18 06:36:59 | 显示全部楼层
楼主是电面还是Onsite
回复 支持 反对

使用道具 举报

 楼主| donnice 发表于 2016-3-18 06:52:41 | 显示全部楼层
gwygw 发表于 2016-3-18 06:36
楼主是电面还是Onsite
.1point3acres缃
电面紫薯紫薯
回复 支持 反对

使用道具 举报

wrf91324 发表于 2016-3-24 11:55:51 | 显示全部楼层
贴一个代码

        public boolean isValid(String string, char[][] board) {
                if (board == null || board.length == 0 || board[0].length == 0) {
                        return false;
                }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                if (string == null || string.length() == 0) {. 1point3acres.com/bbs
                        return true;
                }

                int m = board.length;
                int n = board[0].length;

. Waral 鍗氬鏈夋洿澶氭枃绔,                char[] charArray = string.toCharArray();
                boolean[][] isVisited = new boolean[m][n];

                for (int i = 0; i < m; i++) {. 1point 3acres 璁哄潧
                        for (int j = 0; j < n; j++) {
                                if (dfs(charArray, board, isVisted, 0, i, j)) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
                                        return true;
                                }
                        }
                }. 鍥磋鎴戜滑@1point 3 acres
                return false;
        }. visit 1point3acres.com for more.
. 1point 3acres 璁哄潧
        public boolean dfs(char[] charArray, char[][] board, boolean[][] isVisited, int pos, int x, int y) {

                if (pos == charArray.length - 1 && board[i][j] == charArray[pos]) {. visit 1point3acres.com for more.
                        return true;
                }
                if (board[i][j] != charArray[pos]) {. from: 1point3acres.com/bbs
                        return false;
                }

                int[] xstep = {0 , 0, -1, 1};
                int[] ystep = {-1, 1,  0, 0};
                boolean valid = false;

                for (int k = 0; k < 4; k++) {
                        int newX = x + xstep[k];
                        int newY = y + ystep[k];

                        if (newX >= 0 && newY >= 0 && newX < board.length && newY < board[0].length && isVisited[newX][newY] == false) {
                                isVisited[x][y] = true;
                                valid = valid || dfs(charArray, board, isVisited, pos + 1, newX, newY);
                                isVisited[x][y] = false;
                        }
                }
                return valid;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
. Waral 鍗氬鏈夋洿澶氭枃绔,
        }
回复 支持 反对

使用道具 举报

 楼主| donnice 发表于 2016-3-26 02:31:54 | 显示全部楼层
wrf91324 发表于 2016-3-24 11:55
贴一个代码

        public boolean isValid(String string, char[][] board) {
  1. public class Solution {
  2.     public boolean exist(char[][] board, String word) {. 1point 3acres 璁哄潧
  3.         if(board.length==0||word.equals("")) return false;
  4.         Set<String> curr = new HashSet<String>();
  5.         for(int i = 0;i<board.length;i++){
  6.             for(int j =0;j<board[0].length;j++){
  7.                 if(helper(board,i,j,word,0,curr)) return true;
  8.             }
  9.         }. 鍥磋鎴戜滑@1point 3 acres
  10.         return false;
  11.     }
  12.     public boolean helper(char[][] board, int i, int j, String word, int start, Set<String> curr){
  13.         if(board[i][j]!=word.charAt(start)) return false;
  14.         else if(start==word.length()-1&&board[i][j]==word.charAt(start)) return true;
  15.         else{
  16.             curr.add(String.valueOf(i)+" "+String.valueOf(j));
  17.             boolean neighbor = false;
  18.             if(i-1>=0&&!curr.contains(String.valueOf(i-1)+" "+String.valueOf(j))) neighbor = helper(board,i-1,j,word,start+1,curr);
  19.             if(neighbor) return true;
  20.             if(i+1<=board.length-1&&!curr.contains(String.valueOf(i+1)+" "+String.valueOf(j))) neighbor = helper(board,i+1,j,word,start+1,curr);
  21.             if(neighbor) return true;
  22.             if(j-1>=0&&!curr.contains(String.valueOf(i)+" "+String.valueOf(j-1))) neighbor = helper(board,i,j-1,word,start+1,curr);
  23.             if(neighbor) return true;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  24.             if(j+1<=board[0].length-1&&!curr.contains(String.valueOf(i)+" "+String.valueOf(j+1))) neighbor = helper(board,i,j+1,word,start+1,curr);
  25.             if(neighbor) return true;
  26.             curr.remove(String.valueOf(i)+" "+String.valueOf(j));
  27.             return false;
  28.         }
  29.     }
  30. }
复制代码
这样更直接
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 19:53

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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