评网网站建设,自己做国际网站,wordpress shell,对于学校网站建设的建议抽象前言一、分割两个字符串得到回文串二、双指针总结参考文献前言
抽象去个性留共性#xff0c;是因为具体个性对于解决问题是个累赘。少了累赘#xff0c;直击需求#xff0c;才能进行问题转换或者逻辑转换。
一、分割两个字符串得到回文串 二、双指针
// 限定死了是因为具体个性对于解决问题是个累赘。少了累赘直击需求才能进行问题转换或者逻辑转换。
一、分割两个字符串得到回文串 二、双指针
// 限定死了在相同的下标处分开。 // 而其只要有一个能组成回文串即可。 // 回文是什么前后对称相等。 // 暴力从任何处分割组合再判定是否为回文串。 // ab两串相等意味着分割之后组合的新字符串必定是和ab一样长的。 // 切割能切几个算几个反正字符串一样的就可以了自字符串也好它字符串也罢管它谁提供的呐解决问题足够抽象没有感情只有纯粹的需求。 // 一旦不能切了就只能看自己了。
func checkPalindromeFormation(a string, b string) bool {// 都是看别人家的尾吧是否合我的身子return isVaild(a,b) || isVaild(b,a)}
// 先惦记别家的再看自己有没不能先用自己的再惦记别家的这不合规矩。
func isVaild(a,b string) bool {n : len(a)for i : 0;i n 1;i {if a[i] ! b[n - 1 - i] {// bug1:不一定是身子占主体去惦记别人的字符也有可能是尾巴占主体return isPali(a,i) || isPali(b,i) // 以尾巴为主}}return true
}
func isPali(s string,start int) bool {n : len(s)for i : start;i n 1;i {if s[i] ! s[n - 1 - i] {return false}}return true
}总结
1有两类题一类特点明显可直觉看到特定类型的解法一类需要具体分析从背后发现潜在规律寻找题解这样一个完整的解题过程该题属于第二种。 2抛开具体的个性直击需求管它谁提供了这个需求抽象成一种情况–提供需求。
参考文献
[1] LeetCode 分割两个字符串得到回文串