1. 题目背景与核心考察点解析
"3.04 oj基础116 117 118"这个编号序列指向的是在线判题系统(Online Judge)中一组基础算法练习题。这类题目通常作为编程初学者的入门训练,重点考察对基础数据结构和算法的掌握程度。从编号规律来看,这三题很可能属于同一知识模块的递进训练。
提示:OJ系统中的基础题库往往按照"同一知识点由浅入深"的方式编排,建议按编号顺序依次攻克。
1.1 典型题型特征分析
基础题库的116-118题通常具有以下特征:
- 116题:单一知识点的直接应用(如数组遍历)
- 117题:增加一个维度的复杂度(如嵌套循环)
- 118题:引入简单算法思想(如贪心或模拟)
根据多年刷题经验,这类题目最常见的考察方向包括:
- 数组元素操作(查找、排序、统计)
- 字符串处理(反转、分割、匹配)
- 简单数学问题(质数、公约数、数列)
1.2 解题通用方法论
面对基础OJ题目时,建议采用以下解题框架:
- 输入输出分析:明确数据输入格式和预期输出形式
- 边界条件确认:考虑空输入、极值等特殊情况
- 暴力解法构思:先实现最直观的解决方案
- 复杂度优化:分析时间/空间复杂度改进空间
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 题目116详解与实现方案
2.1 题目还原与需求拆解
假设116题是典型的数组求和问题,具体要求可能是:
"给定整数数组nums和目标值target,求数组中两数之和等于target的索引组合"
核心考察点:
- 数组遍历能力
- 哈希表快速查找
- 边界条件处理
2.2 双循环暴力解法
python复制def twoSum(nums, target):
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == target:
return [i, j]
return []
时间复杂度:O(n²)
空间复杂度:O(1)
2.3 哈希表优化方案
python复制def twoSum(nums, target):
hashmap = {}
