03 2021 档案
摘要:基本思想: 本来想用DFS加剪枝,发现不太好写,此次题目没想到还是采用dp思想; DP方程的问题: 主要难在方程的构建,主旨思想是通过区间判别; 其中dp为二维数组,其中dp[i][j]为s[0:i]和t[0:j]中元素相等个数; 对于0~i个元素,如果s[i]=t[j],可以产生两种0-i-1子序
阅读全文
摘要:使用传统栈后缀表达式+弹栈计算,爆时间爆内存,垃圾解法; map<char, int>mp; vector<string>bs; void init() { mp['+'] = 0; mp['-'] = 0; mp['*'] = 1; mp['/'] = 1; } void back_string(
阅读全文
摘要:计算器得简单题,本来想用后缀+栈来解决,但是没想到只涉及加减和括号可以直接用括号展开得思想进行解决; 主要方法是使用栈来记录当前整个括号内的值; 对字符串内的符号进行记录,为括号展开作准备; 例如:-(2+1) 记录负号之后,遇到左括号直接压栈,此时取栈顶符号进行+,-号判断时,可以达到相反的判断逻
阅读全文
摘要:简单题,但是当时第一反应没有想到比较好用的数据结构,最后才发现用栈比较合理; 如果不用栈,直接采用两两对比使用递归来做: class Solution { public: string fun(string s) { if (s.size() <= 1) return s; string ss =
阅读全文