1. 问题分析
本题本质是计数问题,核心是判断苹果高度是否在陶陶可达范围内(身高+板凳高度)。算法需要:
2. 解决策略
3. 复杂度分析
cpp1#include <iostream> 2using namespace std; 3 4int main() { 5 int apples[10]; // 存储10个苹果高度 6 int height, count = 0; // 陶陶身高,苹果计数器 7 8 // 读取苹果高度 9 for (int i = 0; i < 10; i++) { 10 cin >> apples[i]; 11 } 12 13 cin >> height; // 读取陶陶身高 14 height += 30; // 加上板凳高度 15 16 // 统计可摘到的苹果 17 for (int i = 0; i < 10; i++) { 18 // 苹果高度≤总高度则计数 19 if (apples[i] <= height) { 20 count++; 21 } 22 } 23 24 cout << count; // 输出结果 25 return 0; 26}
代码解释:
apples[10]:存储10个苹果高度(100-200cm)height:存储陶陶伸手高度(100-120cm)python1def main(): 2 # 读取10个苹果高度 3 apples = list(map(int, input().split())) 4 # 读取陶陶身高并计算总高度 5 total_height = int(input()) + 30 6 7 count = 0 8 for h in apples: 9 # 苹果高度≤总高度则计数 10 if h <= total_height: 11 count += 1 12 13 print(count) 14 15if __name__ == "__main__": 16 main()
代码解释:
input().split() 直接获取输入数据map(int, ...):将字符串输入转为整数列表if __name__ == "__main__":确保作为脚本时执行main()input() 读取单行,print() 直接输出结果| 维度 | C++实现 | Python实现 |
|---|---|---|
| 时间复杂度 | O(1) 固定10次操作 | O(1) 固定10次操作 |
| 空间复杂度 | O(1) 固定数组大小 | O(1) 动态列表 |
| 执行效率 | 更高(编译型语言) | 较低(解释型语言) |
| 代码简洁度 | 中等 | 更简洁 |
选择建议: