【通知】7月22,工业界资深数据科学家教你破解各大公司面试!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 1225|回复: 2
收起左侧

Zenefits 新鲜电面估计跪了

[复制链接] |试试Instant~ |关注本帖
lightmark 发表于 2015-10-27 05:47:20 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 博士 全职@Zenefits - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
傻逼了,把一个n写成了m没找出来,然后 &&写成了||。。。60min扯了20min写了20min, go through了10min 还剩10min让我run没run出来。。。
估计跪了。
贴个对的代码。

// 1 1 1 1 1 0
// 1 0 1 0 0 1       i)  =>  2
// 1 0 1 0 0 1       ii) =>  1
// 1 1 0 1 1 1

// write a library/class that provides two functions / methods
// i) count the number of 'islands' that the matrix has. 1point 3acres 璁哄潧
// ii) count the number of 'lakes' that the matrix has i.e. connected clump of zeros that is entirely surrounded by a single island

#include <iostream>. Waral 鍗氬鏈夋洿澶氭枃绔,
#include <vector>
using namespace std;.鏈枃鍘熷垱鑷1point3acres璁哄潧


class Solution {
    public:
        vector<vector<int>> grid;
        int m, n;
        Solution (vector<vector<int>> &v):grid(v) {
            m = grid.size();
            n = grid[0].size();
        }
. more info on 1point3acres.com
        int countHelper() {
            int count = 0;
            for (int i = 0; i < m; i++) {
                for (int j = 0; j < n; j++) {
                    if (grid[j] == 1) {
                        count++;. 1point3acres.com/bbs
                        dfs(i, j, count + 2);
                    }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                }
            }
            return count;
.鐣欏璁哄潧-涓浜-涓夊垎鍦        }

        int countIslands() {. from: 1point3acres.com/bbs
            int count = countHelper();
            clear();
            return count;
        }
. Waral 鍗氬鏈夋洿澶氭枃绔,
        int countLakes() {
            countHelper();
            int count = 0;
            for (int i = 1; i < m - 1; i++) {
                for (int j = 1; j < n - 1; j++) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                    if (grid[j] == 0) {
                        int key = -1;
                        if (dfs2(i, j, key))
                            count++;
                    }
                }
            }

            for (int i = 1; i < m - 1; i++)
                for (int j = 1; j < n - 1; j++)
                    if (grid[j] == -1)
                        grid[j] = 0;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

            clear();
            return count;
        }

        void clear() {
            for (int i = 0; i < m; i++) {
                for (int j = 0; j < n; j++) {
                    grid[j] = grid[j]?1:0;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                }
            }.鐣欏璁哄潧-涓浜-涓夊垎鍦
        }.1point3acres缃

        void dfs(int i, int j, int v) {
            if (i < 0 || i == m || j < 0 || j == n || grid[j] == v || grid[j] == 0)
                return;
            grid[j] = v;
            dfs(i - 1, j, v);
            dfs(i + 1, j, v);
            dfs(i, j - 1, v);
            dfs(i, j + 1, v);
        }

        bool dfs2(int i, int j, int &key) {
            if (grid[j] > 0) {
                if (key == -1) {
                    key = grid[j];
                    return true;
                } else if (key == grid[j])
                    return true;
                else
                    return false;
            }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            if (grid[j] == -1)
                return true;
            grid[j] = -1;
            if (i == 0 || j == 0 || i == m - 1 || j == n - 1)
                return false;
            return dfs2(i-1, j, key) && dfs2(i+1, j, key) && dfs2(i, j-1, key) && dfs2(i, j+1, key);
        }. Waral 鍗氬鏈夋洿澶氭枃绔,
};


int main() {
    vector<vector<int>> grid = {
        {1, 1, 1, 1, 1, 0},
        {1, 0, 1, 0, 0, 1},
        {1, 0, 1, 0, 0, 1},
        {1, 1, 0, 1, 1, 1}
    }; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    Solution s(grid);. From 1point 3acres bbs
    cout << s.countIslands() << endl;
    cout << s.countLakes() << endl;-google 1point3acres
    return 0;
}
. 1point3acres.com/bbs


补充内容 (2015-10-27 08:32):
好吧,居然过了,白小哥真给力。。。直接onsite了。。。

评分

2

查看全部评分

本帖被以下淘专辑推荐:

tbu 发表于 2015-10-27 06:31:08 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
LZ电面之前没做coding challenge么?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-7-21 12:55

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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