leetcode363周赛

2859. 计算 K 置位下标对应元素的和

核心思想:枚举+调库,比较简单这题。

leetcode363周赛_第1张图片

2860. 让所有学生保持开心的分组方法数

核心思想:枚举选择学生的人数,首先选0个,选1个,选2个,选3个...;由于要满足题目要求得到一个结论我们需要优先选择nums[i]小的(具体证明可以看b站灵神视频),当时我有一个疑问比如选择三个学生,这三个学生最小的是满足要求的,就没有其他选择三个的情况了吗,结论是确实没有了。所以我们只需枚举排列后的分割线即可,代表选择i+1个,然后判断它是否符合要求,这里将全选和全部选在初始化和返回值的时候特殊处理了,全选肯定满足要求直接+1。

leetcode363周赛_第2张图片

2861. 最大合金数

核心思想:问题重复化+二分,对于一种机器,如何求其可以制造的最大合金数量,那么有一种方法就是二分法,如果合金数量x满足,那么x-1满足,所以我们可以二分出一种机器的最大合金数量,然后通过这种方法得到所有机器的最大合金数量,然后取最大值即可,对于二分的边界,下界好取就是0,上界可以取都取最小值1来估计大概就行。

leetcode363周赛_第3张图片

2862. 完全子集的最大元素和

核心思想:枚举下标除去重复元素后的元素集合,比如75*12,75=25*3,12=4*3,然后它们同时去掉5*5和2*2后都是3,然后我们就去枚举去掉重复元素后的3。这里统计结果的时候有枚举到重复的,比如统计过1,4,16,后面会统计到4,16..,因为4...16是包含1,4,16...这种情况中的,虽然这是多余的情况,但是我们只需要统计最大的结果就行。

leetcode363周赛_第4张图片

你可能感兴趣的:(算法,python)