2024.6.9
**每日一题**
312.戳气球,根据题目的意思,我们需要依次戳破区间内的所有气球,得出最后的答案,那么我们可以看出本题的思想为动态规划的状态转移,枚举每个可能作为最后一个戳破的气球k,ij为区间的两个端点,每次区间的长度从3开始往后枚举,模拟从戳破最后一个气球开始往回倒推的过程。刚开始时需要新建一个数组加入前后两个端点值。状态转移方程如下:
f[i][j]=max(f[i][j],f[i][k]+f[k][j]+cnt[i]*cnt[j]*cnt[k]);
周赛题:
100325,找出K秒后拿着球的孩子,本题为简单模拟,我们只需要遍历时间,每次更新当前拿着球的孩子即可,但是传球的方向会改变,所以我们需要定义一个方向变量,当回到第一个时方向为1,到达最后一个时方向为-1.
双周赛题:
100324,清楚数字,本题为简单模拟题,可以理解为当遇到字母时就将该元素入栈,遇到数字时就出栈,模拟完成即可。
定义栈:
std::stack<char> charStack;
判断元素是数字或字母:
isdigit(),isalpha()
栈相关操作:
Stack.pop(),Stack.empty(),Stack.push()
最后需要将栈转为字符串,定义一个空字符串,将Stack.top()依次加上