3.14阿里笔试第二题:灯能照多少人->人能看见多少个灯
刚被人问到了思路,然后看别人帖子方法基本不一样,写下我的思路:
换一个角度看题:只需要搜索每个人旁边的灯的数量就好了,当时人会屏蔽掉灯哦,代码只统计了行,还需要一次列遍历,逻辑一样的,就不贴了
int count;
for(int i=0; i<nums.size();i++) {
    int zero =0;
    int flag = false;
    for(int j=0;j<nums.size();j++) {
        if(nums[i][j]==0) zero++;
        else if(nums[i][j]==1) {
            if(flag) {
                count+= zero*2; //101这种情况,
            }else {
                count+=zero;
            }
            flag = true;
            zero=0;
        }
    }
    if(flag) {
        count+=zero;//100这种情况。
    }
}#阿里笔试##阿里巴巴##笔经#
