Redian新闻
>
这种backtracking的问题怎么算时间复杂度?比如palindrom patitioning.
avatar
这种backtracking的问题怎么算时间复杂度?比如palindrom patitioning.# JobHunting - 待字闺中
P*r
1
有谁知道这个公司靠谱么。。网上似乎也查不到什么关于他家的记录
昨天被推荐加了下,看看里面的东西挺诱人。不过他们这样经营到时候不卷包跑路,还
有什么其他出路么?
他家每月月费80,好处是
$225买 300 GiftCard "Each Card can be used at any supermarket or gas
station that accepts debit and credit cards!" 应该就是类似 Visa Prepaid Card
吧,
然后还可以 $240 买 $400 walmart GC
。。
avatar
C*n
2
class Solution {
public:
bool valid(string &str, int st, int ed){
while (stif (str[ed]!=str[st]){
return false;
}else{
st++;
ed--;
}
}
return true;
}

void find(string s, int st, vector &r, vector > &
res){
if (st>=s.size()){
res.push_back(r);
}else{
for (int i=st;iif (valid(s,st,i)){
r.push_back(s.substr(st,i-st+1));
find(s,i+1,r,res);
r.pop_back();
}

}
}
}
vector> partition(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector > res;
vector r;
find(s,0,r,res);
return res;
}
};
avatar
v*a
3
注意到 for (int i=st;i对于backtracking 每次递归,n = n-1
复杂度是n*(n-1)*(n-2)...1 = O(n!)
avatar
C*n
4
very nice!thank you!

【在 v****a 的大作中提到】
: 注意到 for (int i=st;i: 对于backtracking 每次递归,n = n-1
: 复杂度是n*(n-1)*(n-2)...1 = O(n!)

avatar
a*e
5
还有valid的时间复杂度呢?这题我看到有的博客里说复杂度是O(2^n), 因为有 n
8722; 1 个地方可以砍断,每个地方可断可不断。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。