万能暴力破解法
万能暴力破解法
最近刷了不少题,很庆幸自己可以通过写博客的方式来写笔记,这样方便以后自己不断地复习。最近突发奇想,由于很多的问题都是转化为数组来进行操作的。如字符串的一些问题,我们经常看到.toCharArray()
String[]
的一些代码,直接将一串字符串组转换成字符串数组,说明字符串数组对于字符串的解题是十分重要的。
那么 ,有没有一种万能的暴力破解法可以解决数组里面的一些问题(比如:求最长公共子串问题,最长的字符串长度问题等等)。下面我总结了一点自己的想法:
//先将一字符串转化为一个字符数组,假设数组为nums
for(int i=0; i<nums.length; i++){
for(int j=i; j<nums.length; j++){
if(边界条件一){ //这里的条件是将子字符串分成很多个,便于做对比
if(对比条件一){ //这里是将子字符串之间进行对比,
//具体的正文代码,如果满足以上条件,就在这里执行对应的代码
}
}
}
}
时间复杂度是O(n^2),但是却可以作为一种通用算法的思路,最为垫底的一种方法。