2808. 使循环数组所有元素相等的最少秒数;1015. 可被 K 整除的最小整数;1001. 网格照明

2808. 使循环数组所有元素相等的最少秒数

核心思想:枚举每个元素作为相等元素最多需要多少秒,然后维护它的最小值。最多需要多少秒是怎么计算的,我们可以把相等值的下标拿出来,然后你会发现两个相邻下标(相邻下标只的是两个值相同,它们的下标距离最近的情况)扩散的时候将它们之间的元素扩散完,需要//2秒,因为每次扩散两个元素,我们只需要统计相邻下标的最远距离//2即可。

1015. 可被 K 整除的最小整数

核心思想:简单想法就是不断枚举1,11,111直到统计次数到达k+1次说明不能满足。这里我们对它进行优化,1,11,111,...我们直接去看它的mod值等不等于0即可,如果mod值重复了说明永远不可能找到答案了,因为你直接用mod值去做*10+1和原来数去做相同操作去%k是等价的。

1001. 网格照明

核心思想:如何将查询一次做到O(1)。如何判断一个点是否被点亮,在于判断它的行,列,正对角线,反对角线。然后发现行列很好表示,对于正对角线,一条对角线上的r-c是一样的,对于反对角线,r+c是一样的,通过这个方法我们可以在O(1)的时间内做到查询。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值