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这种情况。 } }#阿里笔试##阿里巴巴##笔经#