首页 > 其他分享 >day39

day39

时间:2024-10-13 14:23:40浏览次数:7  
标签:day39 int ret ++ vector dp size

回文子串

class Solution {
public:
int countSubstrings(string s) {
int ret = 0;
vector<vector> dp(s.size(), vector(s.size(), 0));
for(int i = s.size() - 1; i >= 0; --i)
{
for(int j = i; j < s.size(); ++j)
{
if(s[i] == s[j])
{
if(j-i <= 1)
{
ret++;
dp[i][j] = true;
}
else if(dp[i+1][j-1])
{
ret++;
dp[i][j] = true;
}
}
}
}
return ret;
}
};

最长回文子序列

class Solution {
public:
int longestPalindromeSubseq(string s) {
vector<vector> dp(s.size(), vector(s.size(), 0));
for(int i = 0; i < s.size(); ++i)
{
dp[i][i] = 1;
}
for(int i = s.size()-2; i >= 0; --i)
{
for(int j = i + 1; j < s.size(); ++j)
{
if(s[i] == s[j])
{
dp[i][j] = dp[i+1][j-1] + 2;
}
else
{
dp[i][j] = max(dp[i+1][j], dp[i][j-1]);
}
}
}
return dp[0][s.size()-1];
}
};

标签:day39,int,ret,++,vector,dp,size
From: https://www.cnblogs.com/pwangikun/p/18462260

相关文章

  • NOIP2024集训Day39 DP
    NOIP2024集训Day39DPA.[AGC002F]LeftmostBall反向考虑,从最终状态,倒退它能指向多少种初始状态。dp策略:从左往右放,每次对最左边的一个空位,要么放一个白球,要么放一个有颜色的球,同时把该种颜色剩下的球都放到后面的位置去。具体的:定义\(f_{i,j}\)表示当前有\(i\)个白球......
  • 代码随想录day39 || 198 打家劫舍,213 打家劫舍||,337 打家劫舍|||
    198打家劫舍funcrob(nums[]int)int{ //思路,动态规划 //dp[i]代表前下标为i能装的最大盗窃物品价值 //递推dp[i]=max(dp[i-1],dp[i-2]+v(i))//dp[i-1]代表不偷物品i,dp[i-2]+v(i)代表偷物品i,那么就不能偷i-1,因为题目要求不能相邻,所以考虑前i-2 //dp[0]=0,......
  • 24暑假算法刷题 | Day39 | 动态规划 VII | LeetCode 198. 打家劫舍,213. 打家劫舍 II,33
    目录198.打家劫舍题目描述题解213.打家劫舍II题目描述题解337.打家劫舍III题目描述题解打家劫舍的一天......
  • 代码随想录 day39 零钱兑换 | 完全平方数 | 单词拆分
    零钱兑换零钱兑换解题思路还是完全背包的套路,但这次我们要求的是最小值,因此每次遍历的时候我们要找到最小值,每次给dp增加的大小不在是物品的价值而是长度,所以+1。知识点完全背包心得难点在于怎么样找到最小值完全平方数[完全平方数(https://programmercarl.com/0279.完......
  • Day39.队列介绍
    1.队列介绍_队列中如果没有数据的话,get方法会原地阻塞,程序会卡住2.队列介绍_.get_nowait()方法,队列中没有数据直接报错3.队列介绍_.get(3)没有数据后等待3秒之后报错4.队列介绍_.full()判断队列是否满了和.empty()判断队列是否空了5.队列介绍_使用捕获异常提示队列没有......
  • Day39.互斥锁
    1.互斥锁_模拟多用户抢票功能流程创建文本文件data,加入字典{"ticket_mum":0},设定余票数'''互斥锁(Lock):多个进程操作同一份数据的时候,会出现数据错乱的问题,针对上述问题,解决方式就是加速处理:核心:将并发变成串行,牺牲效率但是保证了数据的安全'''fromm......
  • Day39.进程对象及其他方法
    1.进程对象及其他方法_current_process.pid查看进程号2.进程对象及其他方法_os.getpid()查看进程号3.进程对象及其他方法_os.getppid()查看子进程的主进程号4.进程对象及其他方法_对象.terminate()杀死进程,对象.is_alive()判断当前进程是否存活 ......
  • 《python编程从入门到实践》day39加更
    #昨日知识点回顾    添加主题、条目#今日知识点学习    19.1.3编辑条目        1.URL模式edit——entry#learning_logs/urls.py---snip---#用于编辑条目的页面path('edit_entry/<int:entry_id>/',views.edit_entry,na......
  • 代码随想录算法训练营第36期DAY39
    道心破碎的一天,继续加油吧,坚持努力。DAY39738单调递增的数字暴力法:没有想到用inti=n;i>0;i--来遍历。class Solution {private:    bool checknum(int num){        if(num<10) return true;        while(num/10!=0){           ......
  • day39 动态规划part2 代码随想录算法训练营 63. 不同路径 II
    题目:63.不同路径II我的感悟:题目不难,就是不知道哪个煞笔,把路拦截死了,并且入口就放石头,我真是吐了。理解难点:初始值的遇到障碍要Break其他我写的没错边界考虑:还有入口和出口有障碍物的话,要直接返回0.听课笔记:差不多,考虑的点就是:初始值后面为break开头和结尾有障......