第十三节:AI 时代的新型漏洞——Prompt 注入与大模型数据越权攻防
2026/5/11 2:54:34
假设你正在爬楼梯。需要n阶你才能到达楼顶。
每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?
问题分析:
思路推导:
class Solution {
public:
int climbStairs(int n) {
// 处理边界情况
if(n <= 2) return n;
// 动态规划解法,使用变量存储前两个状态,节省空间
int prev_prev = 1; // f(n-2)
int prev = 2; // f(n-1)
int current; // f(n)
for(int i = 3; i <= n; i++){
current = prev + prev_prev;
prev_prev = prev;
prev = current;
}
return prev;
}
};
#include <iostream>和using namespace std;以支持输入输出操作main函数,实现用户交互Solution类并调用climbStairs方法进行计算这种解法的时间复杂度是 O (n),空间复杂度是 O (1),因为我们只使用了有限的几个变量来存储中间结果,而没有使用数组。