Big o 如何找到解决方案的时间和空间复杂性
我是一个初学者开发人员,仍然不太熟悉大O 这是我对leetcode问题的解决方案,我不确定这个解决方案的时间和空间复杂性Big o 如何找到解决方案的时间和空间复杂性,big-o,Big O,我是一个初学者开发人员,仍然不太熟悉大O 这是我对leetcode问题的解决方案,我不确定这个解决方案的时间和空间复杂性 String s = ""; String t = ""; int back = 0; for (int i = S.length() - 1; i >= 0; i--) { if (S.charAt(i) == '#') { back++; continue;
String s = "";
String t = "";
int back = 0;
for (int i = S.length() - 1; i >= 0; i--) {
if (S.charAt(i) == '#') {
back++;
continue;
}
if (back > 0) {
back--;
continue;
}
s += "" + S.charAt(i);
}
back = 0;
for (int i = T.length() - 1; i >= 0; i--) {
if (T.charAt(i) == '#') {
back++;
continue;
}
if (back > 0) {
back--;
continue;
}
t += "" + T.charAt(i);
}
return s.equals(t);
}
}
我假设我的时间复杂度是O(N),不知道空间复杂度是什么。如果时间复杂度不是O(N),为什么不是?另外,我认为时间复杂度不是O(1),因为我将输入值存储在变量中,但我也不确定这一点。时间复杂度 由于您正在运行循环,您的复杂性将是O(max(len(S),len(T)),更准确地说是O(len(S)+len(T))。因此,如果您假设字符串的长度为n,那么您的复杂性实际上是O(n) 空间复杂性 空间复杂度与时间复杂度相同