day24-2874. 有序三元组中的最大值 II-2176. 统计数组中相等且可以被整除的数对

刷题:

2874. 有序三元组中的最大值 II

思路:

对比i < j < k这样的光标的话不一定非要用暴力循环的方式,可以用代码遍历的顺序达到这个效果。

for num in nums:
    ans = max(ans, b * num)
    b = max(b, a - num)
    a = max(a, num)

      如这个就是先更新a的值,即i,之后再一次遍历更新b的值,即j,最后更新ans的值,即j,达到i < j < k的效果,可以简洁代码和节省代码时间

2176. 统计数组中相等且可以被整除的数对

思路:

哈希表记录

但是哈希表有很多种用法

如:defaultdict(int)这种,或者dic = [],如添加数组的下标或者数组中数的个数,这个要看情况来,如第一种是记录n的次数,第二种是记录n所在的下标i,还有其他的,后续再看怎么弄。

for n in nums:
    dic[n] += 1

for i, n in enumerate(nums):
    dic[n].append(i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值