Skip to content

Commit e0677e7

Browse files
authored
Create rotate-function.cpp
1 parent f6d30cf commit e0677e7

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

C++/rotate-function.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Time: O(n)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
int maxRotateFunction(vector<int>& A) {
7+
int sum = accumulate(A.begin(), A.end(), 0);
8+
int fi = 0;
9+
for (int i = 0; i < A.size(); ++i) {
10+
fi += i * A[i];
11+
}
12+
13+
int result = fi;
14+
for (int i = 1; i <= A.size(); ++i) {
15+
fi += sum - A.size() * A[A.size() - i];
16+
result = max(result, fi);
17+
}
18+
return result;
19+
}
20+
};

0 commit comments

Comments
 (0)