大模型社招(RAG、Agent)算法题记录

1、给一个字符串str='10+10*5-8',实现加减乘除,输出结果---PDD
def calculate(s):
    s = s.replace(' ', '')
    stack = []
    num = 0
    op = '+'  # 初始操作符设为 '+'

    for i, char in enumerate(s):
        # 判断字符串是否只包含数字字符(0 - 9)
        if char.isdigit():
            # 多位数处理
            num = num * 10 + int(char)
        # 遇到运算符或到达末尾时,处理前一个操作符
        if char in '+-*/' or i == len(s) - 1:
            if op == '+':
                stack.append(num)
            elif op == '-':
                stack.append(-num)
            elif op == '*':
                stack.append(stack.pop() * num)
            elif op == '/':
                prev = stack.pop()
                if prev // num < 0 and prev % num != 0:
                    stack.append(prev // num + 1)  # 向零取整
                else:
                    stack.append(prev // num)
            op = char
            num = 0

    return sum(stack)

str_expr = '10+10*5-8'
result = calculate(str_expr)
print(result)
2、给定一个二维数组(矩阵)要求按照螺旋顺序输出所有元素
def spiral_order(matrix):
    if not matrix or not matrix[0]:
        return []
    
    result = []
    top, bottom = 0, len(matrix) - 1
    left, right = 0, len(matrix[0]) - 1

    while top <= bottom and left <= right:
        # 1. 从左到右遍历上边界
        for col in range(left, right + 1):
            result.append(matrix[top][col])
        top += 1  # 上边界下移

        # 2. 从上到下遍历右边界
        for row in range(top, bottom + 1):
            result.append(matrix[row][right])
        right -= 1  # 右边界左移

        # 3. 从右到左遍历下边界(需检查 top <= bottom)
        if top <= bottom:
            for col in range(right, left - 1, -1):
                result.append(matrix[bottom][col])
            bottom -= 1  # 下边界上移

        # 4. 从下到上遍历左边界(需检查 left <= right)
        if left <= right:
            for row in range(bottom, top - 1, -1):
                result.append(matrix[row][left])
            left += 1  # 左边界右移

    return result
3、给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素(前 K 个高频元素)---阿里
4、给你一个非负整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 :(目标和)---阿里
全部评论

相关推荐

魔法恐龙:这真得给个机会,面试的时候问问不吃饭78.5h怎么做到的
点赞 评论 收藏
分享
1️⃣&nbsp;请先做个简单的自我介绍?2️⃣&nbsp;能否谈下你应聘这个岗位的优势?3️⃣&nbsp;你的职业规划是什么?4️⃣&nbsp;你对OPPO公司的产品有哪些了解,尤其是AI产品方面?5️⃣&nbsp;在AI领域,你认为未来的趋势是什么?6️⃣&nbsp;描述一次你成功推动项目或产品从设计到落地的经历。7️⃣&nbsp;你如何看待用户需求与AI技术之间的平衡?8️⃣&nbsp;谈谈你对数据分析在AI产品开发中作用的理解。9️⃣&nbsp;有没有遇到过团队意见不统一的情况?你是如何解决的?🔟&nbsp;如何确保AI产品的用户体验设计符合目标用户的需求?1️⃣1️⃣&nbsp;描述一个你认为创新的AI产品或功能,并解释为什么。1️⃣2️⃣&nbsp;面对技术上的挑战和限制,你会如何调整产品策略?1️⃣3️⃣&nbsp;在开发过程中,如果发现原计划不可行,你会如何处理?1️⃣4️⃣&nbsp;谈谈你对敏捷开发方法在AI产品管理中的应用理解。1️⃣5️⃣&nbsp;如何评估一个AI产品是否成功?你会关注哪些指标?1️⃣6️⃣&nbsp;描述一次你解决复杂问题的经历,特别是与AI相关的。1️⃣7️⃣&nbsp;在进行市场分析时,你会关注哪些方面来判断产品的市场机会?1️⃣8️⃣&nbsp;如何向不熟悉AI技术的团队成员或客户解释复杂的AI概念?1️⃣9️⃣&nbsp;在设计AI产品时,你会如何考虑数据隐私和安全问题?2️⃣0️⃣&nbsp;谈谈你对AI伦理问题的看法,以及如何在产品设计中避免相关风险
点赞 评论 收藏
分享
挥毫自在:想白嫖你呢
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务