查看: 1132| 回复: 10
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] 求问一道算法题

全局:

2022(7-9月)-CIS本科+fresh grad 无实习或全职 | Other| 码农类General全职@

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
刚刚做一个OA, 遇到一道题,

大概是这样的
给长度cols, 高度cols matrixs,  给你一个list 告诉你哪些ROW,COL是黑的   然后以二x二的正方形扫整个matrixs  返回含黑色点的数量的正方形数  eg 含0 黑色点的2x2 方形2个,一个黑色点的方格有三‍‍‍‌‌‍‍‍‌‍‌‍‍‌‍‍‌‌‍‌个    return【0:2,1:3,2:4, 3:5,4:4】


除了brute force没想到好的办法 用brute force只过了两个test case 其他TLE
凭着印象搜题没搜到
请问这道题有lc相似题吗? 或者可以告诉我better solution吗. .и
感谢!

上一篇:🐶Early Career
下一篇:有人知道Aonecode这个bootcamp嘛
推荐
SoWhat0309 2022-8-19 15:16:54 | 只看该作者
全局:
稀疏矩阵的话,开个哈希表,对于每个非零的点,相应四个2x2正方形的值+1,O(4N)应该不会TLE了

评分

参与人数 1大米 +1 收起 理由
微信用户_64c3716 + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
harsk 2022-8-19 11:46:59 来自APP | 只看该作者
全局:
感觉可以sort 那个黑点list用正方形的特性写 不一定对 没细想
回复

使用道具 举报

全局:
每加一个黑点,4个正方形val+1,剩下就是维护每一个方块的val和更新每一类个数
回复

使用道具 举报

🔗
gundamkeroro 2022-8-19 14:41:18 | 只看该作者
全局:
蠡口一三一四?
回复

使用道具 举报

全局:
是不是可以试试另一种方向 就是看以每一个黑点为左上/左下/右上/右下角的正方形,每一个分别包含几个黑点,然后加到各自的类里面。但是要去重。如果黑点数太多就反过来数包含各种白点数的正方形。1白=3黑
回复

使用道具 举报

全局:
感觉可以sort所有点key1是行坐标相等的话key2是列坐标。然后列举出所有方块的可能起始行。比如所有方块在第3 7 8 9那可能起始行就是2 3 6 7 8 9。

然后遍历每个可能起始行,比如8就看所有在7,8里的黑点,用two pointer 初始化指两行的第一个快,每次前进落后的那个pointer。特殊处理一下某一行是空。

假设有n个块这样的复杂度应该是nlogn,不知道还有没更快的
回复

使用道具 举报

全局:
289生命游戏可以看看
回复

使用道具 举报

🔗
vsian 2022-8-19 16:16:29 来自APP | 只看该作者
全局:
感觉是个数学题 题意要求采样方格->黑点的对应关系,但是有没有一个公式,体现从黑点->到采样方格(可能不止一个)的关系?如果有的话只需要再弄一个类似vis数组的东西记录这个采样方格有没有被记录过就好了... 我乱说的(逃
回复

使用道具 举报

🔗
test001 2022-8-19 16:25:33 | 只看该作者
全局:
没仔细想,因为没看懂你的题目。比如说一共就一个黑点,根据位置不同,会有四个2x2方块可以扫到它,到底算几个?
1
*_. From 1point 3acres bbs
__

2
_*
__

3
__
*_

4
__
_*

. ----
要我做,就顺着扫描一次所有黑点,对每个点周围的点进行统计,同时把已经扫描过的点放到去重map里面,避免重复统计,这样应该是线性时间复杂度
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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