# [3228\. Maximum Number of Operations to Move Ones to the End](https://leetcode.com/problems/maximum-number-of-operations-to-move-ones-to-the-end/) :::spoiler Hint ```cpp= class Solution { public: int maxOperations(string s) { // Initialize the result variable to store the maximum number of operations. // Initialize the counter to count consecutive '1's. // Iterate over each character in the string. for () { // If the current character is '1', increment the counter. // If the current character is '0' and the previous character was '1', // add the count of '1's to the result. } // Return the result which is the maximum number of operations. } }; ``` ::: :::spoiler Solution ```cpp= class Solution { public: int maxOperations(string s) { int res = 0, cnt = 0; for (int i = 0; i < s.size(); ++i) { if (s[i] == '1') ++cnt; else if (i > 0 && s[i - 1] == '1') res += cnt; } return res; } }; ``` - T: $O(n)$ - S: $O(1)$ :::