
获得徽章 0
- #刷题交流# 小M的37进制数字相乘问题
定义37进制的字符集,包含0-9、A-Z和$符号
实现两个转换函数:
to_decimal: 将37进制字符串转换为10进制数
to_37base: 将10进制数转换为37进制字符串
计算步骤:
先将输入的两个37进制数转换为10进制
计算它们的乘积
将结果转换回37进制字符串
例如对于测试用例:
"Z" * "X":
Z在37进制中表示35
X在37进制中表示33
35 * 33 = 1155
1155转换为37进制就是"V8"
"A" * "B":
A在37进制中表示10
B在37进制中表示11
10 * 11 = 110
110转换为37进制就是"2$"展开评论点赞 - #刷题交流# 小M的得分挑战 排序:首先可以对数组进行排序。排序后的数组可以帮助我们快速找到差值不超过 k 的数对。
贪心选择:每次尽量选择差值不超过 kk 的两个数,它们的乘积较大,能够最大化分数。
回溯/动态规划:为了保证每个数只被选一次,使用贪心策略的同时维护一个标记数组来标记已选过的元素。
算法步骤:
排序数组:首先对数组进行排序,这样可以方便地遍历寻找差值小于等于 kk 的数对。
贪心选择:遍历排序后的数组,尽量选择差值小于等于 kk 的一对数,每选一对,就把这两个数标记为已选。
计算分数:每选一对数就加上它们的乘积,最终输出累计的最大分数。展开评论点赞 - #刷题交流# 小c的糖果分配问题
最少的小朋友数量 :为了最少的小朋友数量,我们尽量让每个小朋友得到尽可能多的糖果(即每个小朋友分到 r 颗糖)。这样,我们可以计算出至少需要多少个小朋友才能分完糖果。
假设每个小朋友分 r 颗糖,最少的小朋友数量为:n // r。
如果 n % r 不为零,说明剩余的糖果还需要更多的小朋友来分配,这时我们需要加1个小朋友来分这剩下的糖果。
最多的小朋友数量 :为了最多的小朋友数量,我们尽量让每个小朋友得到尽可能少的糖果(即每个小朋友分到 l 颗糖)。这样,我们可以计算出最多需要多少个小朋友来分配糖果。
假设每个小朋友分 l 颗糖,最多的小朋友数量为:n // l。
如果 n % l 不为零,说明剩余的糖果还需要更多的小朋友来分配,这时我们需要加1个小朋友来分这剩下的糖果。展开评论点赞