← 返回博客列表
Uber

Uber OA 最新真题分享:字符串验证与命令频率统计

2025-09-13

最近有同学参加Uber Online Assessment,遇到了两道非常有代表性的题目。csvosupport 将题目和解题思路整理出来,帮助大家更好地准备 Uber OA

📝 Problem 1: Valid String Check(有效字符串检查)

题目描述

给定一个字符串,检查它是否有效。一个有效的字符串必须满足以下条件:

  1. 字符串只包含数字
  2. 字符串必须包含至少一7
  3. 字符串的长度必须3 的倍数

测试用例

有效字符串:

无效字符串:

解题思路(csvosupport 指导

这道题考察基本的字符串验证逻辑

def is_valid_string(s):
    # 检查长度是否是 3 的倍数
    if len(s) % 3 != 0:
        return False
    
    # 检查是否只包含数字
    if not s.isdigit():
        return False
    
    # 检查是否包含至少一7
    if '7' not in s:
        return False
    
    return True

# 测试
print(is_valid_string("771"))     # True
print(is_valid_string("777"))     # True
print(is_valid_string("123777"))  # True
print(is_valid_string("12345"))   # False
print(is_valid_string("71"))      # False

时间复杂度: O(n),n 为字符串长度 空间复杂度: O(1)

📝 Problem 2: Command Frequency Counter(命令频率计数器

题目描述

给定一个命令数组,只有三种可能的命令:cmd1cmd2 cmd3

你的任务是:

  1. 统计每个命令出现的次
  2. 按照出现频率降序排列
  3. 如果频率相同,按照命令名称的字典序排

示例

*输入

commands = ["cmd1", "cmd2", "cmd1", "cmd3", "cmd2", "cmd1"]

*输出

[("cmd1", 3), ("cmd2", 2), ("cmd3", 1)]

解题思路(csvosupport 指导

这道题考察哈希表统计和自定义排序:

from collections import Counter

def count_commands(commands):
    # 统计每个命令的频
    freq = Counter(commands)
    
    # 按频率降序,频率相同则按命令名称字典序排
    result = sorted(freq.items(), key=lambda x: (-x[1], x[0]))
    
    return result

# 测试
commands = ["cmd1", "cmd2", "cmd1", "cmd3", "cmd2", "cmd1"]
print(count_commands(commands))
# 输出: [('cmd1', 3), ('cmd2', 2), ('cmd3', 1)]

时间复杂度: O(n + k log k)

空间复杂度: O(k),k 为不同命令的数量

优化版本(csvosupport 高级指导

如果命令种类固定3 种,可以进一步优化:

def count_commands_optimized(commands):
    # 手动统计(避免使Counter
    freq = {"cmd1": 0, "cmd2": 0, "cmd3": 0}
    
    for cmd in commands:
        freq[cmd] += 1
    
    # 转换为列表并排序
    result = sorted(freq.items(), key=lambda x: (-x[1], x[0]))
    
    return result

🎯 Uber OA 备考建议(csvosupport 经验分享

1. 时间管理

2. 代码质量

3. 测试用例

4. 常见考点

💡 csvosupport 如何帮助你?

Uber OA 中,csvosupport 提供

实时代码辅助 - 确保代码逻辑正确 测试用例生成 - 帮你发现潜在bug 时间管理建议 - 合理分配答题时间 边界条件提醒 - 避免遗漏特殊情况 代码优化建议 - 提升代码质量

想在 Uber、Lyft、DoorDash 等公司的 OA 中取得高分?

联系 csvosupport,我们提供专业的 OA 辅助服务,助你顺利通过筛选!


*标签 #Uber #OA #OnlineAssessment #字符串处#哈希#OA代做 #面试辅助 #算法#一亩三分地


需要面试真题? 立刻联系微信 Coding0201,获得真题