近日疫情看起来十分不容乐观,希望武汉的同胞能坚强挺过这一关,不要有那么多人在2020离开我们。我十分相信,终有一天,这段混乱的日子将会过去!把握机遇,迎接挑战,愿君灼灼千里目,终有一日天光破!武汉加油!!!
A.首先对于战略进行总结——活得清楚才能活得好
1.如何快速进入状态
远离手机,放歌
2.做题应该怎么做
3.选题怎么选
4.一天怎么衡量自己学的好不好
定量,定规矩,定时间
5.究竟需要什么
6.怎么读懂代码,不被迷惑
分类击破,变量是有类型的,存储的,运算的。理解存储变量是理解题意的第一步
B.Leetcode132
132. Palindrome Partitioning II
Hard
82628Add to ListShare
Given a string s, partition s such that every substring of the partition is a palindrome.
Return the minimum cuts needed for a palindrome partitioning of s.
Example:
Input: "aab" Output: 1 Explanation: The palindrome partitioning ["aa","b"] could be produced using 1 cut.
//理解存储变量的含义是理解题意的第一步 class Solution { public: int minCut(string s) { //特殊判断十分重要 if (s.empty()) return 0; int n = s.size(); //二维数组p 存储在j到i的区间是否是一个回文串,bool型,true/false vector<vector<bool>> p(n, vector<bool>(n)); //int型dp是到当前状态要切的刀数 vector<int> dp(n); for (int i = 0; i < n; ++i) { //默认没有回文串,每个字符自成一个,这是最多的情况 dp[i] = i; //开始遍历,j。。i for (int j = 0; j <= i; ++j) { //如果元素相同且这两个元素紧邻,或者其中间的元素本来就是回文都可以判断当前范围是回文 if (s[i] == s[j] && (i - j < 2 || p[j + 1][i - 1])) { p[j][i] = true; //已经判断是回文就可以切割,如果当前是从开头计算的就是0刀,否则看取右节点的值和左节点+1的值中的最小值作为当前节点 dp[i] = (j == 0) ? 0 : min(dp[i], dp[j - 1] + 1); } } } //n个点但是下标是n-1所以最后一个下标的就是需要切的刀数 return dp[n - 1]; } };
//理解存储变量的含义是理解题意的第一步class Solution {public: int minCut(string s) { //特殊判断十分重要 if (s.empty()) return 0; int n = s.size(); //二维数组p 存储在j到i的区间是否是一个回文串,bool型,true/false vector<vector<bool>> p(n, vector<bool>(n)); //int型dp是到当前状态要切的刀数 vector<int> dp(n); for (int i = 0; i < n; ++i) { //默认没有回文串,每个字符自成一个,这是最多的情况 dp[i] = i; //开始遍历,j。。i for (int j = 0; j <= i; ++j) { //如果元素相同且这两个元素紧邻,或者其中间的元素本来就是回文都可以判断当前范围是回文 if (s[i] == s[j] && (i - j < 2 || p[j + 1][i - 1])) { p[j][i] = true; //已经判断是回文就可以切割,如果当前是从开头计算的就是0刀,否则看取右节点的值和左节点+1的值中的最小值作为当前节点 dp[i] = (j == 0) ? 0 : min(dp[i], dp[j - 1] + 1); } } } //n个点但是下标是n-1所以最后一个下标的就是需要切的刀数 return dp[n - 1]; }};
1.如何快速进入状态
2.做题应该怎么做
3.选题怎么选
4.一天怎么衡量自己学的好不好
5.甲方爸爸需要什么
6.怎么读懂代码,不被迷惑
分类击破,变量是有类型的,存储的,运算的。理解存储变量是理解题意的第一步
原文地址:https://www.cnblogs.com/Marigolci/p/12233524.html