青训营X豆包MarsCode 技术训练营刷题分享 | 豆包MarsCode AI 刷题

27 阅读4分钟

小M在集市上买了一公斤奶酪回家。然而,在小M不在的时候,小F偷偷地偷走了 ABBA​ 公斤的奶酪。现在,小M想知道他还剩下多少奶酪。要求答案以分数的形式表示,并且分数的分母必须为 BB。

测试样例

样例1:

输入:A = 2, B = 7 输出:'5/7' 样例2: 输入:A = 1, B = 3 输出:'2/3' 样例3: 输入:A = 3, B = 5 输出:'2/5' 解决方案

为了计算剩余奶酪的数量,我们需要从1公斤(可以表示为 BBBB​)中减去被偷走的 ABBA​ 公斤奶酪,然后以分数形式返回结果,其中分数的分母必须为 BB。

我们可以按照以下步骤来实现这个功能:

计算差值:计算原始奶酪量和被偷奶酪量之间的差值,即 1−AB=BB−AB1−BA​=BB​−BA​。

简化表达式:将上述表达式简化为同一个分母下的分数形式,即 B−ABBB−A​。

返回结果:返回格式化的字符串结果。

具体代码实现

下面是具体的代码实现:

python

def solution(A: int, B: int) -> str:

    # 剩余奶酪量为 (B - A) / B

    remaining_cheese_numerator = B - A  # 分子

    # 分母保持不变,为 B

    # 返回格式化的字符串结果

    return f'{remaining_cheese_numerator}/{B}'

 

if name == 'main':

    print(solution(2, 7) == "5/7")

    print(solution(1, 3) == "2/3")

    print(solution(3, 5) == "2/5")

在这个看似简单的编程问题背后,其实隐藏着许多实习生可能会遇到的挑战和困惑。作为一名正在实习的程序员,我深刻体会到了这些挑战带来的压力和成长的机会。

在解决实际问题时,首先要明确问题的本质。在这个例子中,我们需要计算剩余奶酪的数量,并且结果必须以分数形式表示。这要求我们不仅要熟悉基本的数学运算,还要能够将问题抽象成数学模型。

算法设计:

设计算法时,需要考虑效率和准确性。在这个问题中,我们通过简单的数学运算和字符串格式化来实现目标。但在更复杂的场景中,可能需要考虑更多的优化策略,如缓存、预处理等。

代码实现:

编写代码时,要注意代码的可读性和可维护性。注释和变量命名是提高代码可读性的关键。此外,合理的函数划分和模块化设计也有助于代码的维护和扩展。

测试用例:

编写测试用例是验证代码正确性的有效手段。通过多个不同场景的测试用例,可以确保代码在各种情况下都能正确运行。这也是提高代码质量的重要步骤。

作为一名实习生,我常常感到自己在技术和经验上与正式员工有很大的差距。每当遇到新的问题时,内心总会有一丝不安和焦虑。然而,正是这些挑战让我不断地学习和进步。

记得刚开始实习时,面对一个看似简单的问题,我却花了很长时间才找到解决方案。当时的心情非常沮丧,甚至怀疑自己的能力。但当我终于找到问题的关键并成功解决问题时,那种成就感和喜悦是无法用言语形容的。

在这个过程中,我逐渐学会了如何冷静地分析问题,如何有效地寻找解决方案,以及如何在团队中寻求帮助和支持。每解决一个问题,我的信心就会增强一分,对编程的热情也会更加坚定。

实习期间,我也遇到了许多友好的同事和导师。他们不仅在技术上给予了我很多指导,还在生活和职业规划上提供了宝贵的建议。他们的支持和鼓励让我感受到了团队的力量,也让我更加珍惜这段宝贵的实习经历。

通过这次练习,我不仅巩固了字符串处理和集合操作的知识,还学会了如何更有效地设计算法来解决问题。每一次成功的解决都给我带来了极大的满足感,也让我更加热爱编程这项活动。我相信,通过不断的学习和实践,我可以在编程这条路上走得更远。